package ms.unicorn.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.xtext.parsetree.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import ms.unicorn.services.EIstarGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalEIstarParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "':='", "'->'", "'owns'", "'add'", "'+'", "'remove'", "'-'", "'*'", "'situation'", "';'", "'include'", "'import'", "'evolution'", "'model'", "'on'", "'{'", "'}'", "':'", "'rule'", "'branch'", "'probability'", "'actor'", "','", "'goal'", "'submodel'", "'text'", "'.'", "'.*'"
    };
    public static final int RULE_ID=4;
    public static final int RULE_STRING=5;
    public static final int RULE_ANY_OTHER=10;
    public static final int RULE_INT=6;
    public static final int RULE_WS=9;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;

        public InternalEIstarParser(TokenStream input) {
            super(input);
        }
        

    public String[] getTokenNames() { return tokenNames; }
    public String getGrammarFileName() { return "../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g"; }


     
     	private EIstarGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(EIstarGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start entryRuleSituation
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:61:1: entryRuleSituation : ruleSituation EOF ;
    public final void entryRuleSituation() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:62:1: ( ruleSituation EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:63:1: ruleSituation EOF
            {
             before(grammarAccess.getSituationRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleSituation_in_entryRuleSituation61);
            ruleSituation();
            _fsp--;

             after(grammarAccess.getSituationRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSituation68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleSituation


    // $ANTLR start ruleSituation
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:70:1: ruleSituation : ( ( rule__Situation__Group__0 ) ) ;
    public final void ruleSituation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:74:2: ( ( ( rule__Situation__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:75:1: ( ( rule__Situation__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:75:1: ( ( rule__Situation__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:76:1: ( rule__Situation__Group__0 )
            {
             before(grammarAccess.getSituationAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:77:1: ( rule__Situation__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:77:2: rule__Situation__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__Situation__Group__0_in_ruleSituation94);
            rule__Situation__Group__0();
            _fsp--;


            }

             after(grammarAccess.getSituationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleSituation


    // $ANTLR start entryRuleModel
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:89:1: entryRuleModel : ruleModel EOF ;
    public final void entryRuleModel() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:90:1: ( ruleModel EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:91:1: ruleModel EOF
            {
             before(grammarAccess.getModelRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleModel_in_entryRuleModel121);
            ruleModel();
            _fsp--;

             after(grammarAccess.getModelRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleModel128); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleModel


    // $ANTLR start ruleModel
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:98:1: ruleModel : ( ( rule__Model__Alternatives ) ) ;
    public final void ruleModel() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:102:2: ( ( ( rule__Model__Alternatives ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:103:1: ( ( rule__Model__Alternatives ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:103:1: ( ( rule__Model__Alternatives ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:104:1: ( rule__Model__Alternatives )
            {
             before(grammarAccess.getModelAccess().getAlternatives()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:105:1: ( rule__Model__Alternatives )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:105:2: rule__Model__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__Model__Alternatives_in_ruleModel154);
            rule__Model__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getModelAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleModel


    // $ANTLR start entryRuleIncludeSituation
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:117:1: entryRuleIncludeSituation : ruleIncludeSituation EOF ;
    public final void entryRuleIncludeSituation() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:118:1: ( ruleIncludeSituation EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:119:1: ruleIncludeSituation EOF
            {
             before(grammarAccess.getIncludeSituationRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleIncludeSituation_in_entryRuleIncludeSituation181);
            ruleIncludeSituation();
            _fsp--;

             after(grammarAccess.getIncludeSituationRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIncludeSituation188); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleIncludeSituation


    // $ANTLR start ruleIncludeSituation
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:126:1: ruleIncludeSituation : ( ( rule__IncludeSituation__Group__0 ) ) ;
    public final void ruleIncludeSituation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:130:2: ( ( ( rule__IncludeSituation__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:131:1: ( ( rule__IncludeSituation__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:131:1: ( ( rule__IncludeSituation__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:132:1: ( rule__IncludeSituation__Group__0 )
            {
             before(grammarAccess.getIncludeSituationAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:133:1: ( rule__IncludeSituation__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:133:2: rule__IncludeSituation__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__IncludeSituation__Group__0_in_ruleIncludeSituation214);
            rule__IncludeSituation__Group__0();
            _fsp--;


            }

             after(grammarAccess.getIncludeSituationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleIncludeSituation


    // $ANTLR start entryRuleImportNamespace
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:145:1: entryRuleImportNamespace : ruleImportNamespace EOF ;
    public final void entryRuleImportNamespace() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:146:1: ( ruleImportNamespace EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:147:1: ruleImportNamespace EOF
            {
             before(grammarAccess.getImportNamespaceRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleImportNamespace_in_entryRuleImportNamespace241);
            ruleImportNamespace();
            _fsp--;

             after(grammarAccess.getImportNamespaceRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleImportNamespace248); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleImportNamespace


    // $ANTLR start ruleImportNamespace
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:154:1: ruleImportNamespace : ( ( rule__ImportNamespace__Group__0 ) ) ;
    public final void ruleImportNamespace() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:158:2: ( ( ( rule__ImportNamespace__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:159:1: ( ( rule__ImportNamespace__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:159:1: ( ( rule__ImportNamespace__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:160:1: ( rule__ImportNamespace__Group__0 )
            {
             before(grammarAccess.getImportNamespaceAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:161:1: ( rule__ImportNamespace__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:161:2: rule__ImportNamespace__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ImportNamespace__Group__0_in_ruleImportNamespace274);
            rule__ImportNamespace__Group__0();
            _fsp--;


            }

             after(grammarAccess.getImportNamespaceAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleImportNamespace


    // $ANTLR start entryRuleEvolutionModel
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:173:1: entryRuleEvolutionModel : ruleEvolutionModel EOF ;
    public final void entryRuleEvolutionModel() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:174:1: ( ruleEvolutionModel EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:175:1: ruleEvolutionModel EOF
            {
             before(grammarAccess.getEvolutionModelRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleEvolutionModel_in_entryRuleEvolutionModel301);
            ruleEvolutionModel();
            _fsp--;

             after(grammarAccess.getEvolutionModelRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEvolutionModel308); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleEvolutionModel


    // $ANTLR start ruleEvolutionModel
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:182:1: ruleEvolutionModel : ( ( rule__EvolutionModel__Group__0 ) ) ;
    public final void ruleEvolutionModel() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:186:2: ( ( ( rule__EvolutionModel__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:187:1: ( ( rule__EvolutionModel__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:187:1: ( ( rule__EvolutionModel__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:188:1: ( rule__EvolutionModel__Group__0 )
            {
             before(grammarAccess.getEvolutionModelAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:189:1: ( rule__EvolutionModel__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:189:2: rule__EvolutionModel__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group__0_in_ruleEvolutionModel334);
            rule__EvolutionModel__Group__0();
            _fsp--;


            }

             after(grammarAccess.getEvolutionModelAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleEvolutionModel


    // $ANTLR start entryRuleEvolutionRule
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:201:1: entryRuleEvolutionRule : ruleEvolutionRule EOF ;
    public final void entryRuleEvolutionRule() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:202:1: ( ruleEvolutionRule EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:203:1: ruleEvolutionRule EOF
            {
             before(grammarAccess.getEvolutionRuleRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleEvolutionRule_in_entryRuleEvolutionRule361);
            ruleEvolutionRule();
            _fsp--;

             after(grammarAccess.getEvolutionRuleRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEvolutionRule368); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleEvolutionRule


    // $ANTLR start ruleEvolutionRule
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:210:1: ruleEvolutionRule : ( ( rule__EvolutionRule__Group__0 ) ) ;
    public final void ruleEvolutionRule() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:214:2: ( ( ( rule__EvolutionRule__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:215:1: ( ( rule__EvolutionRule__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:215:1: ( ( rule__EvolutionRule__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:216:1: ( rule__EvolutionRule__Group__0 )
            {
             before(grammarAccess.getEvolutionRuleAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:217:1: ( rule__EvolutionRule__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:217:2: rule__EvolutionRule__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group__0_in_ruleEvolutionRule394);
            rule__EvolutionRule__Group__0();
            _fsp--;


            }

             after(grammarAccess.getEvolutionRuleAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleEvolutionRule


    // $ANTLR start entryRuleEvolutionBranch
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:229:1: entryRuleEvolutionBranch : ruleEvolutionBranch EOF ;
    public final void entryRuleEvolutionBranch() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:230:1: ( ruleEvolutionBranch EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:231:1: ruleEvolutionBranch EOF
            {
             before(grammarAccess.getEvolutionBranchRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleEvolutionBranch_in_entryRuleEvolutionBranch421);
            ruleEvolutionBranch();
            _fsp--;

             after(grammarAccess.getEvolutionBranchRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEvolutionBranch428); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleEvolutionBranch


    // $ANTLR start ruleEvolutionBranch
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:238:1: ruleEvolutionBranch : ( ( rule__EvolutionBranch__Group__0 ) ) ;
    public final void ruleEvolutionBranch() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:242:2: ( ( ( rule__EvolutionBranch__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:243:1: ( ( rule__EvolutionBranch__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:243:1: ( ( rule__EvolutionBranch__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:244:1: ( rule__EvolutionBranch__Group__0 )
            {
             before(grammarAccess.getEvolutionBranchAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:245:1: ( rule__EvolutionBranch__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:245:2: rule__EvolutionBranch__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionBranch__Group__0_in_ruleEvolutionBranch454);
            rule__EvolutionBranch__Group__0();
            _fsp--;


            }

             after(grammarAccess.getEvolutionBranchAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleEvolutionBranch


    // $ANTLR start entryRuleEvolutionOperation
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:257:1: entryRuleEvolutionOperation : ruleEvolutionOperation EOF ;
    public final void entryRuleEvolutionOperation() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:258:1: ( ruleEvolutionOperation EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:259:1: ruleEvolutionOperation EOF
            {
             before(grammarAccess.getEvolutionOperationRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleEvolutionOperation_in_entryRuleEvolutionOperation481);
            ruleEvolutionOperation();
            _fsp--;

             after(grammarAccess.getEvolutionOperationRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEvolutionOperation488); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleEvolutionOperation


    // $ANTLR start ruleEvolutionOperation
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:266:1: ruleEvolutionOperation : ( ( rule__EvolutionOperation__Group__0 ) ) ;
    public final void ruleEvolutionOperation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:270:2: ( ( ( rule__EvolutionOperation__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:271:1: ( ( rule__EvolutionOperation__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:271:1: ( ( rule__EvolutionOperation__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:272:1: ( rule__EvolutionOperation__Group__0 )
            {
             before(grammarAccess.getEvolutionOperationAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:273:1: ( rule__EvolutionOperation__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:273:2: rule__EvolutionOperation__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionOperation__Group__0_in_ruleEvolutionOperation514);
            rule__EvolutionOperation__Group__0();
            _fsp--;


            }

             after(grammarAccess.getEvolutionOperationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleEvolutionOperation


    // $ANTLR start entryRuleEvolutionAddOperation
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:285:1: entryRuleEvolutionAddOperation : ruleEvolutionAddOperation EOF ;
    public final void entryRuleEvolutionAddOperation() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:286:1: ( ruleEvolutionAddOperation EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:287:1: ruleEvolutionAddOperation EOF
            {
             before(grammarAccess.getEvolutionAddOperationRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleEvolutionAddOperation_in_entryRuleEvolutionAddOperation541);
            ruleEvolutionAddOperation();
            _fsp--;

             after(grammarAccess.getEvolutionAddOperationRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEvolutionAddOperation548); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleEvolutionAddOperation


    // $ANTLR start ruleEvolutionAddOperation
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:294:1: ruleEvolutionAddOperation : ( ( rule__EvolutionAddOperation__Group__0 ) ) ;
    public final void ruleEvolutionAddOperation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:298:2: ( ( ( rule__EvolutionAddOperation__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:299:1: ( ( rule__EvolutionAddOperation__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:299:1: ( ( rule__EvolutionAddOperation__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:300:1: ( rule__EvolutionAddOperation__Group__0 )
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:301:1: ( rule__EvolutionAddOperation__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:301:2: rule__EvolutionAddOperation__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group__0_in_ruleEvolutionAddOperation574);
            rule__EvolutionAddOperation__Group__0();
            _fsp--;


            }

             after(grammarAccess.getEvolutionAddOperationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleEvolutionAddOperation


    // $ANTLR start entryRuleEvolutionRemoveOperation
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:313:1: entryRuleEvolutionRemoveOperation : ruleEvolutionRemoveOperation EOF ;
    public final void entryRuleEvolutionRemoveOperation() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:314:1: ( ruleEvolutionRemoveOperation EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:315:1: ruleEvolutionRemoveOperation EOF
            {
             before(grammarAccess.getEvolutionRemoveOperationRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleEvolutionRemoveOperation_in_entryRuleEvolutionRemoveOperation601);
            ruleEvolutionRemoveOperation();
            _fsp--;

             after(grammarAccess.getEvolutionRemoveOperationRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEvolutionRemoveOperation608); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleEvolutionRemoveOperation


    // $ANTLR start ruleEvolutionRemoveOperation
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:322:1: ruleEvolutionRemoveOperation : ( ( rule__EvolutionRemoveOperation__Group__0 ) ) ;
    public final void ruleEvolutionRemoveOperation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:326:2: ( ( ( rule__EvolutionRemoveOperation__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:327:1: ( ( rule__EvolutionRemoveOperation__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:327:1: ( ( rule__EvolutionRemoveOperation__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:328:1: ( rule__EvolutionRemoveOperation__Group__0 )
            {
             before(grammarAccess.getEvolutionRemoveOperationAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:329:1: ( rule__EvolutionRemoveOperation__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:329:2: rule__EvolutionRemoveOperation__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRemoveOperation__Group__0_in_ruleEvolutionRemoveOperation634);
            rule__EvolutionRemoveOperation__Group__0();
            _fsp--;


            }

             after(grammarAccess.getEvolutionRemoveOperationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleEvolutionRemoveOperation


    // $ANTLR start entryRuleRequirementModel
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:341:1: entryRuleRequirementModel : ruleRequirementModel EOF ;
    public final void entryRuleRequirementModel() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:342:1: ( ruleRequirementModel EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:343:1: ruleRequirementModel EOF
            {
             before(grammarAccess.getRequirementModelRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleRequirementModel_in_entryRuleRequirementModel661);
            ruleRequirementModel();
            _fsp--;

             after(grammarAccess.getRequirementModelRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRequirementModel668); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleRequirementModel


    // $ANTLR start ruleRequirementModel
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:350:1: ruleRequirementModel : ( ( rule__RequirementModel__Alternatives ) ) ;
    public final void ruleRequirementModel() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:354:2: ( ( ( rule__RequirementModel__Alternatives ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:355:1: ( ( rule__RequirementModel__Alternatives ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:355:1: ( ( rule__RequirementModel__Alternatives ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:356:1: ( rule__RequirementModel__Alternatives )
            {
             before(grammarAccess.getRequirementModelAccess().getAlternatives()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:357:1: ( rule__RequirementModel__Alternatives )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:357:2: rule__RequirementModel__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__RequirementModel__Alternatives_in_ruleRequirementModel694);
            rule__RequirementModel__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getRequirementModelAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleRequirementModel


    // $ANTLR start entryRuleSubModel
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:369:1: entryRuleSubModel : ruleSubModel EOF ;
    public final void entryRuleSubModel() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:370:1: ( ruleSubModel EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:371:1: ruleSubModel EOF
            {
             before(grammarAccess.getSubModelRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleSubModel_in_entryRuleSubModel721);
            ruleSubModel();
            _fsp--;

             after(grammarAccess.getSubModelRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSubModel728); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleSubModel


    // $ANTLR start ruleSubModel
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:378:1: ruleSubModel : ( ( rule__SubModel__Group__0 ) ) ;
    public final void ruleSubModel() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:382:2: ( ( ( rule__SubModel__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:383:1: ( ( rule__SubModel__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:383:1: ( ( rule__SubModel__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:384:1: ( rule__SubModel__Group__0 )
            {
             before(grammarAccess.getSubModelAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:385:1: ( rule__SubModel__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:385:2: rule__SubModel__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group__0_in_ruleSubModel754);
            rule__SubModel__Group__0();
            _fsp--;


            }

             after(grammarAccess.getSubModelAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleSubModel


    // $ANTLR start entryRuleSubModelInclusion
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:397:1: entryRuleSubModelInclusion : ruleSubModelInclusion EOF ;
    public final void entryRuleSubModelInclusion() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:398:1: ( ruleSubModelInclusion EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:399:1: ruleSubModelInclusion EOF
            {
             before(grammarAccess.getSubModelInclusionRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleSubModelInclusion_in_entryRuleSubModelInclusion781);
            ruleSubModelInclusion();
            _fsp--;

             after(grammarAccess.getSubModelInclusionRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSubModelInclusion788); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleSubModelInclusion


    // $ANTLR start ruleSubModelInclusion
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:406:1: ruleSubModelInclusion : ( ( rule__SubModelInclusion__Group__0 ) ) ;
    public final void ruleSubModelInclusion() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:410:2: ( ( ( rule__SubModelInclusion__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:411:1: ( ( rule__SubModelInclusion__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:411:1: ( ( rule__SubModelInclusion__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:412:1: ( rule__SubModelInclusion__Group__0 )
            {
             before(grammarAccess.getSubModelInclusionAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:413:1: ( rule__SubModelInclusion__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:413:2: rule__SubModelInclusion__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModelInclusion__Group__0_in_ruleSubModelInclusion814);
            rule__SubModelInclusion__Group__0();
            _fsp--;


            }

             after(grammarAccess.getSubModelInclusionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleSubModelInclusion


    // $ANTLR start entryRuleFullModel
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:425:1: entryRuleFullModel : ruleFullModel EOF ;
    public final void entryRuleFullModel() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:426:1: ( ruleFullModel EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:427:1: ruleFullModel EOF
            {
             before(grammarAccess.getFullModelRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleFullModel_in_entryRuleFullModel841);
            ruleFullModel();
            _fsp--;

             after(grammarAccess.getFullModelRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleFullModel848); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleFullModel


    // $ANTLR start ruleFullModel
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:434:1: ruleFullModel : ( ( rule__FullModel__Group__0 ) ) ;
    public final void ruleFullModel() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:438:2: ( ( ( rule__FullModel__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:439:1: ( ( rule__FullModel__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:439:1: ( ( rule__FullModel__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:440:1: ( rule__FullModel__Group__0 )
            {
             before(grammarAccess.getFullModelAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:441:1: ( rule__FullModel__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:441:2: rule__FullModel__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group__0_in_ruleFullModel874);
            rule__FullModel__Group__0();
            _fsp--;


            }

             after(grammarAccess.getFullModelAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleFullModel


    // $ANTLR start entryRuleGoalDeclaration
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:453:1: entryRuleGoalDeclaration : ruleGoalDeclaration EOF ;
    public final void entryRuleGoalDeclaration() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:454:1: ( ruleGoalDeclaration EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:455:1: ruleGoalDeclaration EOF
            {
             before(grammarAccess.getGoalDeclarationRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleGoalDeclaration_in_entryRuleGoalDeclaration901);
            ruleGoalDeclaration();
            _fsp--;

             after(grammarAccess.getGoalDeclarationRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleGoalDeclaration908); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleGoalDeclaration


    // $ANTLR start ruleGoalDeclaration
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:462:1: ruleGoalDeclaration : ( ( rule__GoalDeclaration__Group__0 ) ) ;
    public final void ruleGoalDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:466:2: ( ( ( rule__GoalDeclaration__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:467:1: ( ( rule__GoalDeclaration__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:467:1: ( ( rule__GoalDeclaration__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:468:1: ( rule__GoalDeclaration__Group__0 )
            {
             before(grammarAccess.getGoalDeclarationAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:469:1: ( rule__GoalDeclaration__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:469:2: rule__GoalDeclaration__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__Group__0_in_ruleGoalDeclaration934);
            rule__GoalDeclaration__Group__0();
            _fsp--;


            }

             after(grammarAccess.getGoalDeclarationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleGoalDeclaration


    // $ANTLR start entryRuleActorDeclaration
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:481:1: entryRuleActorDeclaration : ruleActorDeclaration EOF ;
    public final void entryRuleActorDeclaration() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:482:1: ( ruleActorDeclaration EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:483:1: ruleActorDeclaration EOF
            {
             before(grammarAccess.getActorDeclarationRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleActorDeclaration_in_entryRuleActorDeclaration961);
            ruleActorDeclaration();
            _fsp--;

             after(grammarAccess.getActorDeclarationRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleActorDeclaration968); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleActorDeclaration


    // $ANTLR start ruleActorDeclaration
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:490:1: ruleActorDeclaration : ( ( rule__ActorDeclaration__Group__0 ) ) ;
    public final void ruleActorDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:494:2: ( ( ( rule__ActorDeclaration__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:495:1: ( ( rule__ActorDeclaration__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:495:1: ( ( rule__ActorDeclaration__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:496:1: ( rule__ActorDeclaration__Group__0 )
            {
             before(grammarAccess.getActorDeclarationAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:497:1: ( rule__ActorDeclaration__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:497:2: rule__ActorDeclaration__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ActorDeclaration__Group__0_in_ruleActorDeclaration994);
            rule__ActorDeclaration__Group__0();
            _fsp--;


            }

             after(grammarAccess.getActorDeclarationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleActorDeclaration


    // $ANTLR start entryRuleRelationDeclaration
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:509:1: entryRuleRelationDeclaration : ruleRelationDeclaration EOF ;
    public final void entryRuleRelationDeclaration() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:510:1: ( ruleRelationDeclaration EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:511:1: ruleRelationDeclaration EOF
            {
             before(grammarAccess.getRelationDeclarationRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleRelationDeclaration_in_entryRuleRelationDeclaration1021);
            ruleRelationDeclaration();
            _fsp--;

             after(grammarAccess.getRelationDeclarationRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRelationDeclaration1028); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleRelationDeclaration


    // $ANTLR start ruleRelationDeclaration
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:518:1: ruleRelationDeclaration : ( ( rule__RelationDeclaration__Alternatives ) ) ;
    public final void ruleRelationDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:522:2: ( ( ( rule__RelationDeclaration__Alternatives ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:523:1: ( ( rule__RelationDeclaration__Alternatives ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:523:1: ( ( rule__RelationDeclaration__Alternatives ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:524:1: ( rule__RelationDeclaration__Alternatives )
            {
             before(grammarAccess.getRelationDeclarationAccess().getAlternatives()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:525:1: ( rule__RelationDeclaration__Alternatives )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:525:2: rule__RelationDeclaration__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__RelationDeclaration__Alternatives_in_ruleRelationDeclaration1054);
            rule__RelationDeclaration__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getRelationDeclarationAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleRelationDeclaration


    // $ANTLR start entryRuleDecomposition
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:537:1: entryRuleDecomposition : ruleDecomposition EOF ;
    public final void entryRuleDecomposition() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:538:1: ( ruleDecomposition EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:539:1: ruleDecomposition EOF
            {
             before(grammarAccess.getDecompositionRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleDecomposition_in_entryRuleDecomposition1081);
            ruleDecomposition();
            _fsp--;

             after(grammarAccess.getDecompositionRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDecomposition1088); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleDecomposition


    // $ANTLR start ruleDecomposition
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:546:1: ruleDecomposition : ( ( rule__Decomposition__Group__0 ) ) ;
    public final void ruleDecomposition() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:550:2: ( ( ( rule__Decomposition__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:551:1: ( ( rule__Decomposition__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:551:1: ( ( rule__Decomposition__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:552:1: ( rule__Decomposition__Group__0 )
            {
             before(grammarAccess.getDecompositionAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:553:1: ( rule__Decomposition__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:553:2: rule__Decomposition__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__Group__0_in_ruleDecomposition1114);
            rule__Decomposition__Group__0();
            _fsp--;


            }

             after(grammarAccess.getDecompositionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleDecomposition


    // $ANTLR start entryRuleOwnRelation
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:565:1: entryRuleOwnRelation : ruleOwnRelation EOF ;
    public final void entryRuleOwnRelation() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:566:1: ( ruleOwnRelation EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:567:1: ruleOwnRelation EOF
            {
             before(grammarAccess.getOwnRelationRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleOwnRelation_in_entryRuleOwnRelation1141);
            ruleOwnRelation();
            _fsp--;

             after(grammarAccess.getOwnRelationRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOwnRelation1148); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleOwnRelation


    // $ANTLR start ruleOwnRelation
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:574:1: ruleOwnRelation : ( ( rule__OwnRelation__Group__0 ) ) ;
    public final void ruleOwnRelation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:578:2: ( ( ( rule__OwnRelation__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:579:1: ( ( rule__OwnRelation__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:579:1: ( ( rule__OwnRelation__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:580:1: ( rule__OwnRelation__Group__0 )
            {
             before(grammarAccess.getOwnRelationAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:581:1: ( rule__OwnRelation__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:581:2: rule__OwnRelation__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__Group__0_in_ruleOwnRelation1174);
            rule__OwnRelation__Group__0();
            _fsp--;


            }

             after(grammarAccess.getOwnRelationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleOwnRelation


    // $ANTLR start entryRuleDelegation
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:593:1: entryRuleDelegation : ruleDelegation EOF ;
    public final void entryRuleDelegation() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:594:1: ( ruleDelegation EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:595:1: ruleDelegation EOF
            {
             before(grammarAccess.getDelegationRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleDelegation_in_entryRuleDelegation1201);
            ruleDelegation();
            _fsp--;

             after(grammarAccess.getDelegationRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDelegation1208); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleDelegation


    // $ANTLR start ruleDelegation
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:602:1: ruleDelegation : ( ( rule__Delegation__Group__0 ) ) ;
    public final void ruleDelegation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:606:2: ( ( ( rule__Delegation__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:607:1: ( ( rule__Delegation__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:607:1: ( ( rule__Delegation__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:608:1: ( rule__Delegation__Group__0 )
            {
             before(grammarAccess.getDelegationAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:609:1: ( rule__Delegation__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:609:2: rule__Delegation__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__Delegation__Group__0_in_ruleDelegation1234);
            rule__Delegation__Group__0();
            _fsp--;


            }

             after(grammarAccess.getDelegationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleDelegation


    // $ANTLR start entryRuleQualifiedName
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:621:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
    public final void entryRuleQualifiedName() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:622:1: ( ruleQualifiedName EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:623:1: ruleQualifiedName EOF
            {
             before(grammarAccess.getQualifiedNameRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName1261);
            ruleQualifiedName();
            _fsp--;

             after(grammarAccess.getQualifiedNameRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleQualifiedName1268); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleQualifiedName


    // $ANTLR start ruleQualifiedName
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:630:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ;
    public final void ruleQualifiedName() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:634:2: ( ( ( rule__QualifiedName__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:635:1: ( ( rule__QualifiedName__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:635:1: ( ( rule__QualifiedName__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:636:1: ( rule__QualifiedName__Group__0 )
            {
             before(grammarAccess.getQualifiedNameAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:637:1: ( rule__QualifiedName__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:637:2: rule__QualifiedName__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName1294);
            rule__QualifiedName__Group__0();
            _fsp--;


            }

             after(grammarAccess.getQualifiedNameAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleQualifiedName


    // $ANTLR start entryRuleQualifiedNameWithWildCard
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:649:1: entryRuleQualifiedNameWithWildCard : ruleQualifiedNameWithWildCard EOF ;
    public final void entryRuleQualifiedNameWithWildCard() throws RecognitionException {
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:650:1: ( ruleQualifiedNameWithWildCard EOF )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:651:1: ruleQualifiedNameWithWildCard EOF
            {
             before(grammarAccess.getQualifiedNameWithWildCardRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleQualifiedNameWithWildCard_in_entryRuleQualifiedNameWithWildCard1321);
            ruleQualifiedNameWithWildCard();
            _fsp--;

             after(grammarAccess.getQualifiedNameWithWildCardRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleQualifiedNameWithWildCard1328); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleQualifiedNameWithWildCard


    // $ANTLR start ruleQualifiedNameWithWildCard
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:658:1: ruleQualifiedNameWithWildCard : ( ( rule__QualifiedNameWithWildCard__Group__0 ) ) ;
    public final void ruleQualifiedNameWithWildCard() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:662:2: ( ( ( rule__QualifiedNameWithWildCard__Group__0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:663:1: ( ( rule__QualifiedNameWithWildCard__Group__0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:663:1: ( ( rule__QualifiedNameWithWildCard__Group__0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:664:1: ( rule__QualifiedNameWithWildCard__Group__0 )
            {
             before(grammarAccess.getQualifiedNameWithWildCardAccess().getGroup()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:665:1: ( rule__QualifiedNameWithWildCard__Group__0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:665:2: rule__QualifiedNameWithWildCard__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__QualifiedNameWithWildCard__Group__0_in_ruleQualifiedNameWithWildCard1354);
            rule__QualifiedNameWithWildCard__Group__0();
            _fsp--;


            }

             after(grammarAccess.getQualifiedNameWithWildCardAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleQualifiedNameWithWildCard


    // $ANTLR start ruleDECOMPOSE
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:678:1: ruleDECOMPOSE : ( ( ':=' ) ) ;
    public final void ruleDECOMPOSE() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:682:1: ( ( ( ':=' ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:683:1: ( ( ':=' ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:683:1: ( ( ':=' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:684:1: ( ':=' )
            {
             before(grammarAccess.getDECOMPOSEAccess().getDECOMPOSEEnumLiteralDeclaration()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:685:1: ( ':=' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:685:3: ':='
            {
            match(input,11,FollowSets000.FOLLOW_11_in_ruleDECOMPOSE1392); 

            }

             after(grammarAccess.getDECOMPOSEAccess().getDECOMPOSEEnumLiteralDeclaration()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleDECOMPOSE


    // $ANTLR start ruleDELEGATE
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:698:1: ruleDELEGATE : ( ( '->' ) ) ;
    public final void ruleDELEGATE() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:702:1: ( ( ( '->' ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:703:1: ( ( '->' ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:703:1: ( ( '->' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:704:1: ( '->' )
            {
             before(grammarAccess.getDELEGATEAccess().getDELEGATEEnumLiteralDeclaration()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:705:1: ( '->' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:705:3: '->'
            {
            match(input,12,FollowSets000.FOLLOW_12_in_ruleDELEGATE1431); 

            }

             after(grammarAccess.getDELEGATEAccess().getDELEGATEEnumLiteralDeclaration()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleDELEGATE


    // $ANTLR start ruleOWN
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:718:1: ruleOWN : ( ( 'owns' ) ) ;
    public final void ruleOWN() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:722:1: ( ( ( 'owns' ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:723:1: ( ( 'owns' ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:723:1: ( ( 'owns' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:724:1: ( 'owns' )
            {
             before(grammarAccess.getOWNAccess().getOWNEnumLiteralDeclaration()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:725:1: ( 'owns' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:725:3: 'owns'
            {
            match(input,13,FollowSets000.FOLLOW_13_in_ruleOWN1470); 

            }

             after(grammarAccess.getOWNAccess().getOWNEnumLiteralDeclaration()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleOWN


    // $ANTLR start rule__Model__Alternatives
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:737:1: rule__Model__Alternatives : ( ( ruleRequirementModel ) | ( ruleEvolutionModel ) );
    public final void rule__Model__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:741:1: ( ( ruleRequirementModel ) | ( ruleEvolutionModel ) )
            int alt1=2;
            int LA1_0 = input.LA(1);

            if ( (LA1_0==24||LA1_0==35) ) {
                alt1=1;
            }
            else if ( (LA1_0==23) ) {
                alt1=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("737:1: rule__Model__Alternatives : ( ( ruleRequirementModel ) | ( ruleEvolutionModel ) );", 1, 0, input);

                throw nvae;
            }
            switch (alt1) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:742:1: ( ruleRequirementModel )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:742:1: ( ruleRequirementModel )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:743:1: ruleRequirementModel
                    {
                     before(grammarAccess.getModelAccess().getRequirementModelParserRuleCall_0()); 
                    pushFollow(FollowSets000.FOLLOW_ruleRequirementModel_in_rule__Model__Alternatives1507);
                    ruleRequirementModel();
                    _fsp--;

                     after(grammarAccess.getModelAccess().getRequirementModelParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:748:6: ( ruleEvolutionModel )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:748:6: ( ruleEvolutionModel )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:749:1: ruleEvolutionModel
                    {
                     before(grammarAccess.getModelAccess().getEvolutionModelParserRuleCall_1()); 
                    pushFollow(FollowSets000.FOLLOW_ruleEvolutionModel_in_rule__Model__Alternatives1524);
                    ruleEvolutionModel();
                    _fsp--;

                     after(grammarAccess.getModelAccess().getEvolutionModelParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Model__Alternatives


    // $ANTLR start rule__EvolutionOperation__Alternatives_0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:759:1: rule__EvolutionOperation__Alternatives_0 : ( ( ruleEvolutionAddOperation ) | ( ruleEvolutionRemoveOperation ) );
    public final void rule__EvolutionOperation__Alternatives_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:763:1: ( ( ruleEvolutionAddOperation ) | ( ruleEvolutionRemoveOperation ) )
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( ((LA2_0>=14 && LA2_0<=15)) ) {
                alt2=1;
            }
            else if ( ((LA2_0>=16 && LA2_0<=17)) ) {
                alt2=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("759:1: rule__EvolutionOperation__Alternatives_0 : ( ( ruleEvolutionAddOperation ) | ( ruleEvolutionRemoveOperation ) );", 2, 0, input);

                throw nvae;
            }
            switch (alt2) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:764:1: ( ruleEvolutionAddOperation )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:764:1: ( ruleEvolutionAddOperation )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:765:1: ruleEvolutionAddOperation
                    {
                     before(grammarAccess.getEvolutionOperationAccess().getEvolutionAddOperationParserRuleCall_0_0()); 
                    pushFollow(FollowSets000.FOLLOW_ruleEvolutionAddOperation_in_rule__EvolutionOperation__Alternatives_01556);
                    ruleEvolutionAddOperation();
                    _fsp--;

                     after(grammarAccess.getEvolutionOperationAccess().getEvolutionAddOperationParserRuleCall_0_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:770:6: ( ruleEvolutionRemoveOperation )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:770:6: ( ruleEvolutionRemoveOperation )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:771:1: ruleEvolutionRemoveOperation
                    {
                     before(grammarAccess.getEvolutionOperationAccess().getEvolutionRemoveOperationParserRuleCall_0_1()); 
                    pushFollow(FollowSets000.FOLLOW_ruleEvolutionRemoveOperation_in_rule__EvolutionOperation__Alternatives_01573);
                    ruleEvolutionRemoveOperation();
                    _fsp--;

                     after(grammarAccess.getEvolutionOperationAccess().getEvolutionRemoveOperationParserRuleCall_0_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionOperation__Alternatives_0


    // $ANTLR start rule__EvolutionAddOperation__Alternatives_0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:781:1: rule__EvolutionAddOperation__Alternatives_0 : ( ( 'add' ) | ( '+' ) );
    public final void rule__EvolutionAddOperation__Alternatives_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:785:1: ( ( 'add' ) | ( '+' ) )
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==14) ) {
                alt3=1;
            }
            else if ( (LA3_0==15) ) {
                alt3=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("781:1: rule__EvolutionAddOperation__Alternatives_0 : ( ( 'add' ) | ( '+' ) );", 3, 0, input);

                throw nvae;
            }
            switch (alt3) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:786:1: ( 'add' )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:786:1: ( 'add' )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:787:1: 'add'
                    {
                     before(grammarAccess.getEvolutionAddOperationAccess().getAddKeyword_0_0()); 
                    match(input,14,FollowSets000.FOLLOW_14_in_rule__EvolutionAddOperation__Alternatives_01606); 
                     after(grammarAccess.getEvolutionAddOperationAccess().getAddKeyword_0_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:794:6: ( '+' )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:794:6: ( '+' )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:795:1: '+'
                    {
                     before(grammarAccess.getEvolutionAddOperationAccess().getPlusSignKeyword_0_1()); 
                    match(input,15,FollowSets000.FOLLOW_15_in_rule__EvolutionAddOperation__Alternatives_01626); 
                     after(grammarAccess.getEvolutionAddOperationAccess().getPlusSignKeyword_0_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Alternatives_0


    // $ANTLR start rule__EvolutionAddOperation__Alternatives_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:807:1: rule__EvolutionAddOperation__Alternatives_1 : ( ( ( rule__EvolutionAddOperation__Group_1_0__0 ) ) | ( ( rule__EvolutionAddOperation__Group_1_1__0 ) ) | ( ( rule__EvolutionAddOperation__Group_1_2__0 ) ) );
    public final void rule__EvolutionAddOperation__Alternatives_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:811:1: ( ( ( rule__EvolutionAddOperation__Group_1_0__0 ) ) | ( ( rule__EvolutionAddOperation__Group_1_1__0 ) ) | ( ( rule__EvolutionAddOperation__Group_1_2__0 ) ) )
            int alt4=3;
            switch ( input.LA(1) ) {
            case 32:
                {
                alt4=1;
                }
                break;
            case 34:
                {
                alt4=2;
                }
                break;
            case RULE_ID:
                {
                alt4=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("807:1: rule__EvolutionAddOperation__Alternatives_1 : ( ( ( rule__EvolutionAddOperation__Group_1_0__0 ) ) | ( ( rule__EvolutionAddOperation__Group_1_1__0 ) ) | ( ( rule__EvolutionAddOperation__Group_1_2__0 ) ) );", 4, 0, input);

                throw nvae;
            }

            switch (alt4) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:812:1: ( ( rule__EvolutionAddOperation__Group_1_0__0 ) )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:812:1: ( ( rule__EvolutionAddOperation__Group_1_0__0 ) )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:813:1: ( rule__EvolutionAddOperation__Group_1_0__0 )
                    {
                     before(grammarAccess.getEvolutionAddOperationAccess().getGroup_1_0()); 
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:814:1: ( rule__EvolutionAddOperation__Group_1_0__0 )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:814:2: rule__EvolutionAddOperation__Group_1_0__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_0__0_in_rule__EvolutionAddOperation__Alternatives_11660);
                    rule__EvolutionAddOperation__Group_1_0__0();
                    _fsp--;


                    }

                     after(grammarAccess.getEvolutionAddOperationAccess().getGroup_1_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:818:6: ( ( rule__EvolutionAddOperation__Group_1_1__0 ) )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:818:6: ( ( rule__EvolutionAddOperation__Group_1_1__0 ) )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:819:1: ( rule__EvolutionAddOperation__Group_1_1__0 )
                    {
                     before(grammarAccess.getEvolutionAddOperationAccess().getGroup_1_1()); 
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:820:1: ( rule__EvolutionAddOperation__Group_1_1__0 )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:820:2: rule__EvolutionAddOperation__Group_1_1__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_1__0_in_rule__EvolutionAddOperation__Alternatives_11678);
                    rule__EvolutionAddOperation__Group_1_1__0();
                    _fsp--;


                    }

                     after(grammarAccess.getEvolutionAddOperationAccess().getGroup_1_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:824:6: ( ( rule__EvolutionAddOperation__Group_1_2__0 ) )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:824:6: ( ( rule__EvolutionAddOperation__Group_1_2__0 ) )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:825:1: ( rule__EvolutionAddOperation__Group_1_2__0 )
                    {
                     before(grammarAccess.getEvolutionAddOperationAccess().getGroup_1_2()); 
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:826:1: ( rule__EvolutionAddOperation__Group_1_2__0 )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:826:2: rule__EvolutionAddOperation__Group_1_2__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_2__0_in_rule__EvolutionAddOperation__Alternatives_11696);
                    rule__EvolutionAddOperation__Group_1_2__0();
                    _fsp--;


                    }

                     after(grammarAccess.getEvolutionAddOperationAccess().getGroup_1_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Alternatives_1


    // $ANTLR start rule__EvolutionRemoveOperation__Alternatives_0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:835:1: rule__EvolutionRemoveOperation__Alternatives_0 : ( ( 'remove' ) | ( '-' ) );
    public final void rule__EvolutionRemoveOperation__Alternatives_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:839:1: ( ( 'remove' ) | ( '-' ) )
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( (LA5_0==16) ) {
                alt5=1;
            }
            else if ( (LA5_0==17) ) {
                alt5=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("835:1: rule__EvolutionRemoveOperation__Alternatives_0 : ( ( 'remove' ) | ( '-' ) );", 5, 0, input);

                throw nvae;
            }
            switch (alt5) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:840:1: ( 'remove' )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:840:1: ( 'remove' )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:841:1: 'remove'
                    {
                     before(grammarAccess.getEvolutionRemoveOperationAccess().getRemoveKeyword_0_0()); 
                    match(input,16,FollowSets000.FOLLOW_16_in_rule__EvolutionRemoveOperation__Alternatives_01730); 
                     after(grammarAccess.getEvolutionRemoveOperationAccess().getRemoveKeyword_0_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:848:6: ( '-' )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:848:6: ( '-' )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:849:1: '-'
                    {
                     before(grammarAccess.getEvolutionRemoveOperationAccess().getHyphenMinusKeyword_0_1()); 
                    match(input,17,FollowSets000.FOLLOW_17_in_rule__EvolutionRemoveOperation__Alternatives_01750); 
                     after(grammarAccess.getEvolutionRemoveOperationAccess().getHyphenMinusKeyword_0_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRemoveOperation__Alternatives_0


    // $ANTLR start rule__EvolutionRemoveOperation__Alternatives_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:861:1: rule__EvolutionRemoveOperation__Alternatives_1 : ( ( ( rule__EvolutionRemoveOperation__EntityAssignment_1_0 ) ) | ( ( rule__EvolutionRemoveOperation__ChildrenAssignment_1_1 ) ) );
    public final void rule__EvolutionRemoveOperation__Alternatives_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:865:1: ( ( ( rule__EvolutionRemoveOperation__EntityAssignment_1_0 ) ) | ( ( rule__EvolutionRemoveOperation__ChildrenAssignment_1_1 ) ) )
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0==RULE_ID) ) {
                int LA6_1 = input.LA(2);

                if ( (LA6_1==EOF||LA6_1==20||LA6_1==33||LA6_1==37) ) {
                    alt6=1;
                }
                else if ( ((LA6_1>=11 && LA6_1<=13)||LA6_1==28) ) {
                    alt6=2;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("861:1: rule__EvolutionRemoveOperation__Alternatives_1 : ( ( ( rule__EvolutionRemoveOperation__EntityAssignment_1_0 ) ) | ( ( rule__EvolutionRemoveOperation__ChildrenAssignment_1_1 ) ) );", 6, 1, input);

                    throw nvae;
                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("861:1: rule__EvolutionRemoveOperation__Alternatives_1 : ( ( ( rule__EvolutionRemoveOperation__EntityAssignment_1_0 ) ) | ( ( rule__EvolutionRemoveOperation__ChildrenAssignment_1_1 ) ) );", 6, 0, input);

                throw nvae;
            }
            switch (alt6) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:866:1: ( ( rule__EvolutionRemoveOperation__EntityAssignment_1_0 ) )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:866:1: ( ( rule__EvolutionRemoveOperation__EntityAssignment_1_0 ) )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:867:1: ( rule__EvolutionRemoveOperation__EntityAssignment_1_0 )
                    {
                     before(grammarAccess.getEvolutionRemoveOperationAccess().getEntityAssignment_1_0()); 
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:868:1: ( rule__EvolutionRemoveOperation__EntityAssignment_1_0 )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:868:2: rule__EvolutionRemoveOperation__EntityAssignment_1_0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__EvolutionRemoveOperation__EntityAssignment_1_0_in_rule__EvolutionRemoveOperation__Alternatives_11784);
                    rule__EvolutionRemoveOperation__EntityAssignment_1_0();
                    _fsp--;


                    }

                     after(grammarAccess.getEvolutionRemoveOperationAccess().getEntityAssignment_1_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:872:6: ( ( rule__EvolutionRemoveOperation__ChildrenAssignment_1_1 ) )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:872:6: ( ( rule__EvolutionRemoveOperation__ChildrenAssignment_1_1 ) )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:873:1: ( rule__EvolutionRemoveOperation__ChildrenAssignment_1_1 )
                    {
                     before(grammarAccess.getEvolutionRemoveOperationAccess().getChildrenAssignment_1_1()); 
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:874:1: ( rule__EvolutionRemoveOperation__ChildrenAssignment_1_1 )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:874:2: rule__EvolutionRemoveOperation__ChildrenAssignment_1_1
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__EvolutionRemoveOperation__ChildrenAssignment_1_1_in_rule__EvolutionRemoveOperation__Alternatives_11802);
                    rule__EvolutionRemoveOperation__ChildrenAssignment_1_1();
                    _fsp--;


                    }

                     after(grammarAccess.getEvolutionRemoveOperationAccess().getChildrenAssignment_1_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRemoveOperation__Alternatives_1


    // $ANTLR start rule__EvolutionRemoveOperation__Alternatives_2_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:883:1: rule__EvolutionRemoveOperation__Alternatives_2_1 : ( ( ( rule__EvolutionRemoveOperation__EntityAssignment_2_1_0 ) ) | ( ( rule__EvolutionRemoveOperation__ChildrenAssignment_2_1_1 ) ) );
    public final void rule__EvolutionRemoveOperation__Alternatives_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:887:1: ( ( ( rule__EvolutionRemoveOperation__EntityAssignment_2_1_0 ) ) | ( ( rule__EvolutionRemoveOperation__ChildrenAssignment_2_1_1 ) ) )
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==RULE_ID) ) {
                int LA7_1 = input.LA(2);

                if ( ((LA7_1>=11 && LA7_1<=13)||LA7_1==28) ) {
                    alt7=2;
                }
                else if ( (LA7_1==EOF||LA7_1==20||LA7_1==33||LA7_1==37) ) {
                    alt7=1;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("883:1: rule__EvolutionRemoveOperation__Alternatives_2_1 : ( ( ( rule__EvolutionRemoveOperation__EntityAssignment_2_1_0 ) ) | ( ( rule__EvolutionRemoveOperation__ChildrenAssignment_2_1_1 ) ) );", 7, 1, input);

                    throw nvae;
                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("883:1: rule__EvolutionRemoveOperation__Alternatives_2_1 : ( ( ( rule__EvolutionRemoveOperation__EntityAssignment_2_1_0 ) ) | ( ( rule__EvolutionRemoveOperation__ChildrenAssignment_2_1_1 ) ) );", 7, 0, input);

                throw nvae;
            }
            switch (alt7) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:888:1: ( ( rule__EvolutionRemoveOperation__EntityAssignment_2_1_0 ) )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:888:1: ( ( rule__EvolutionRemoveOperation__EntityAssignment_2_1_0 ) )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:889:1: ( rule__EvolutionRemoveOperation__EntityAssignment_2_1_0 )
                    {
                     before(grammarAccess.getEvolutionRemoveOperationAccess().getEntityAssignment_2_1_0()); 
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:890:1: ( rule__EvolutionRemoveOperation__EntityAssignment_2_1_0 )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:890:2: rule__EvolutionRemoveOperation__EntityAssignment_2_1_0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__EvolutionRemoveOperation__EntityAssignment_2_1_0_in_rule__EvolutionRemoveOperation__Alternatives_2_11835);
                    rule__EvolutionRemoveOperation__EntityAssignment_2_1_0();
                    _fsp--;


                    }

                     after(grammarAccess.getEvolutionRemoveOperationAccess().getEntityAssignment_2_1_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:894:6: ( ( rule__EvolutionRemoveOperation__ChildrenAssignment_2_1_1 ) )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:894:6: ( ( rule__EvolutionRemoveOperation__ChildrenAssignment_2_1_1 ) )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:895:1: ( rule__EvolutionRemoveOperation__ChildrenAssignment_2_1_1 )
                    {
                     before(grammarAccess.getEvolutionRemoveOperationAccess().getChildrenAssignment_2_1_1()); 
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:896:1: ( rule__EvolutionRemoveOperation__ChildrenAssignment_2_1_1 )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:896:2: rule__EvolutionRemoveOperation__ChildrenAssignment_2_1_1
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__EvolutionRemoveOperation__ChildrenAssignment_2_1_1_in_rule__EvolutionRemoveOperation__Alternatives_2_11853);
                    rule__EvolutionRemoveOperation__ChildrenAssignment_2_1_1();
                    _fsp--;


                    }

                     after(grammarAccess.getEvolutionRemoveOperationAccess().getChildrenAssignment_2_1_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRemoveOperation__Alternatives_2_1


    // $ANTLR start rule__RequirementModel__Alternatives
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:905:1: rule__RequirementModel__Alternatives : ( ( ruleFullModel ) | ( ruleSubModel ) );
    public final void rule__RequirementModel__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:909:1: ( ( ruleFullModel ) | ( ruleSubModel ) )
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==24) ) {
                alt8=1;
            }
            else if ( (LA8_0==35) ) {
                alt8=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("905:1: rule__RequirementModel__Alternatives : ( ( ruleFullModel ) | ( ruleSubModel ) );", 8, 0, input);

                throw nvae;
            }
            switch (alt8) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:910:1: ( ruleFullModel )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:910:1: ( ruleFullModel )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:911:1: ruleFullModel
                    {
                     before(grammarAccess.getRequirementModelAccess().getFullModelParserRuleCall_0()); 
                    pushFollow(FollowSets000.FOLLOW_ruleFullModel_in_rule__RequirementModel__Alternatives1886);
                    ruleFullModel();
                    _fsp--;

                     after(grammarAccess.getRequirementModelAccess().getFullModelParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:916:6: ( ruleSubModel )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:916:6: ( ruleSubModel )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:917:1: ruleSubModel
                    {
                     before(grammarAccess.getRequirementModelAccess().getSubModelParserRuleCall_1()); 
                    pushFollow(FollowSets000.FOLLOW_ruleSubModel_in_rule__RequirementModel__Alternatives1903);
                    ruleSubModel();
                    _fsp--;

                     after(grammarAccess.getRequirementModelAccess().getSubModelParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RequirementModel__Alternatives


    // $ANTLR start rule__SubModelInclusion__ClosureAlternatives_1_0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:927:1: rule__SubModelInclusion__ClosureAlternatives_1_0 : ( ( '*' ) | ( '+' ) );
    public final void rule__SubModelInclusion__ClosureAlternatives_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:931:1: ( ( '*' ) | ( '+' ) )
            int alt9=2;
            int LA9_0 = input.LA(1);

            if ( (LA9_0==18) ) {
                alt9=1;
            }
            else if ( (LA9_0==15) ) {
                alt9=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("927:1: rule__SubModelInclusion__ClosureAlternatives_1_0 : ( ( '*' ) | ( '+' ) );", 9, 0, input);

                throw nvae;
            }
            switch (alt9) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:932:1: ( '*' )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:932:1: ( '*' )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:933:1: '*'
                    {
                     before(grammarAccess.getSubModelInclusionAccess().getClosureAsteriskKeyword_1_0_0()); 
                    match(input,18,FollowSets000.FOLLOW_18_in_rule__SubModelInclusion__ClosureAlternatives_1_01936); 
                     after(grammarAccess.getSubModelInclusionAccess().getClosureAsteriskKeyword_1_0_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:940:6: ( '+' )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:940:6: ( '+' )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:941:1: '+'
                    {
                     before(grammarAccess.getSubModelInclusionAccess().getClosurePlusSignKeyword_1_0_1()); 
                    match(input,15,FollowSets000.FOLLOW_15_in_rule__SubModelInclusion__ClosureAlternatives_1_01956); 
                     after(grammarAccess.getSubModelInclusionAccess().getClosurePlusSignKeyword_1_0_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModelInclusion__ClosureAlternatives_1_0


    // $ANTLR start rule__FullModel__Alternatives_4
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:953:1: rule__FullModel__Alternatives_4 : ( ( ( rule__FullModel__Group_4_0__0 ) ) | ( ( rule__FullModel__Group_4_1__0 ) ) | ( ( rule__FullModel__Group_4_2__0 ) ) );
    public final void rule__FullModel__Alternatives_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:957:1: ( ( ( rule__FullModel__Group_4_0__0 ) ) | ( ( rule__FullModel__Group_4_1__0 ) ) | ( ( rule__FullModel__Group_4_2__0 ) ) )
            int alt10=3;
            switch ( input.LA(1) ) {
            case 32:
                {
                alt10=1;
                }
                break;
            case 34:
                {
                alt10=2;
                }
                break;
            case RULE_ID:
                {
                alt10=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("953:1: rule__FullModel__Alternatives_4 : ( ( ( rule__FullModel__Group_4_0__0 ) ) | ( ( rule__FullModel__Group_4_1__0 ) ) | ( ( rule__FullModel__Group_4_2__0 ) ) );", 10, 0, input);

                throw nvae;
            }

            switch (alt10) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:958:1: ( ( rule__FullModel__Group_4_0__0 ) )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:958:1: ( ( rule__FullModel__Group_4_0__0 ) )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:959:1: ( rule__FullModel__Group_4_0__0 )
                    {
                     before(grammarAccess.getFullModelAccess().getGroup_4_0()); 
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:960:1: ( rule__FullModel__Group_4_0__0 )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:960:2: rule__FullModel__Group_4_0__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_0__0_in_rule__FullModel__Alternatives_41990);
                    rule__FullModel__Group_4_0__0();
                    _fsp--;


                    }

                     after(grammarAccess.getFullModelAccess().getGroup_4_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:964:6: ( ( rule__FullModel__Group_4_1__0 ) )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:964:6: ( ( rule__FullModel__Group_4_1__0 ) )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:965:1: ( rule__FullModel__Group_4_1__0 )
                    {
                     before(grammarAccess.getFullModelAccess().getGroup_4_1()); 
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:966:1: ( rule__FullModel__Group_4_1__0 )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:966:2: rule__FullModel__Group_4_1__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_1__0_in_rule__FullModel__Alternatives_42008);
                    rule__FullModel__Group_4_1__0();
                    _fsp--;


                    }

                     after(grammarAccess.getFullModelAccess().getGroup_4_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:970:6: ( ( rule__FullModel__Group_4_2__0 ) )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:970:6: ( ( rule__FullModel__Group_4_2__0 ) )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:971:1: ( rule__FullModel__Group_4_2__0 )
                    {
                     before(grammarAccess.getFullModelAccess().getGroup_4_2()); 
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:972:1: ( rule__FullModel__Group_4_2__0 )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:972:2: rule__FullModel__Group_4_2__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_2__0_in_rule__FullModel__Alternatives_42026);
                    rule__FullModel__Group_4_2__0();
                    _fsp--;


                    }

                     after(grammarAccess.getFullModelAccess().getGroup_4_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Alternatives_4


    // $ANTLR start rule__GoalDeclaration__Alternatives_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:981:1: rule__GoalDeclaration__Alternatives_1 : ( ( ( rule__GoalDeclaration__Group_1_0__0 ) ) | ( ( rule__GoalDeclaration__Group_1_1__0 ) ) );
    public final void rule__GoalDeclaration__Alternatives_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:985:1: ( ( ( rule__GoalDeclaration__Group_1_0__0 ) ) | ( ( rule__GoalDeclaration__Group_1_1__0 ) ) )
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( (LA11_0==26) ) {
                alt11=1;
            }
            else if ( (LA11_0==28) ) {
                alt11=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("981:1: rule__GoalDeclaration__Alternatives_1 : ( ( ( rule__GoalDeclaration__Group_1_0__0 ) ) | ( ( rule__GoalDeclaration__Group_1_1__0 ) ) );", 11, 0, input);

                throw nvae;
            }
            switch (alt11) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:986:1: ( ( rule__GoalDeclaration__Group_1_0__0 ) )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:986:1: ( ( rule__GoalDeclaration__Group_1_0__0 ) )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:987:1: ( rule__GoalDeclaration__Group_1_0__0 )
                    {
                     before(grammarAccess.getGoalDeclarationAccess().getGroup_1_0()); 
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:988:1: ( rule__GoalDeclaration__Group_1_0__0 )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:988:2: rule__GoalDeclaration__Group_1_0__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__Group_1_0__0_in_rule__GoalDeclaration__Alternatives_12059);
                    rule__GoalDeclaration__Group_1_0__0();
                    _fsp--;


                    }

                     after(grammarAccess.getGoalDeclarationAccess().getGroup_1_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:992:6: ( ( rule__GoalDeclaration__Group_1_1__0 ) )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:992:6: ( ( rule__GoalDeclaration__Group_1_1__0 ) )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:993:1: ( rule__GoalDeclaration__Group_1_1__0 )
                    {
                     before(grammarAccess.getGoalDeclarationAccess().getGroup_1_1()); 
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:994:1: ( rule__GoalDeclaration__Group_1_1__0 )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:994:2: rule__GoalDeclaration__Group_1_1__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__Group_1_1__0_in_rule__GoalDeclaration__Alternatives_12077);
                    rule__GoalDeclaration__Group_1_1__0();
                    _fsp--;


                    }

                     after(grammarAccess.getGoalDeclarationAccess().getGroup_1_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__Alternatives_1


    // $ANTLR start rule__RelationDeclaration__Alternatives
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1003:1: rule__RelationDeclaration__Alternatives : ( ( ruleDecomposition ) | ( ruleDelegation ) | ( ruleOwnRelation ) );
    public final void rule__RelationDeclaration__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1007:1: ( ( ruleDecomposition ) | ( ruleDelegation ) | ( ruleOwnRelation ) )
            int alt12=3;
            int LA12_0 = input.LA(1);

            if ( (LA12_0==RULE_ID) ) {
                switch ( input.LA(2) ) {
                case 12:
                    {
                    alt12=2;
                    }
                    break;
                case 28:
                    {
                    int LA12_3 = input.LA(3);

                    if ( (LA12_3==RULE_ID) ) {
                        switch ( input.LA(4) ) {
                        case 12:
                            {
                            alt12=2;
                            }
                            break;
                        case 13:
                            {
                            alt12=3;
                            }
                            break;
                        case 11:
                            {
                            alt12=1;
                            }
                            break;
                        default:
                            NoViableAltException nvae =
                                new NoViableAltException("1003:1: rule__RelationDeclaration__Alternatives : ( ( ruleDecomposition ) | ( ruleDelegation ) | ( ruleOwnRelation ) );", 12, 6, input);

                            throw nvae;
                        }

                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("1003:1: rule__RelationDeclaration__Alternatives : ( ( ruleDecomposition ) | ( ruleDelegation ) | ( ruleOwnRelation ) );", 12, 3, input);

                        throw nvae;
                    }
                    }
                    break;
                case 13:
                    {
                    alt12=3;
                    }
                    break;
                case 11:
                    {
                    alt12=1;
                    }
                    break;
                default:
                    NoViableAltException nvae =
                        new NoViableAltException("1003:1: rule__RelationDeclaration__Alternatives : ( ( ruleDecomposition ) | ( ruleDelegation ) | ( ruleOwnRelation ) );", 12, 1, input);

                    throw nvae;
                }

            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("1003:1: rule__RelationDeclaration__Alternatives : ( ( ruleDecomposition ) | ( ruleDelegation ) | ( ruleOwnRelation ) );", 12, 0, input);

                throw nvae;
            }
            switch (alt12) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1008:1: ( ruleDecomposition )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1008:1: ( ruleDecomposition )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1009:1: ruleDecomposition
                    {
                     before(grammarAccess.getRelationDeclarationAccess().getDecompositionParserRuleCall_0()); 
                    pushFollow(FollowSets000.FOLLOW_ruleDecomposition_in_rule__RelationDeclaration__Alternatives2110);
                    ruleDecomposition();
                    _fsp--;

                     after(grammarAccess.getRelationDeclarationAccess().getDecompositionParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1014:6: ( ruleDelegation )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1014:6: ( ruleDelegation )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1015:1: ruleDelegation
                    {
                     before(grammarAccess.getRelationDeclarationAccess().getDelegationParserRuleCall_1()); 
                    pushFollow(FollowSets000.FOLLOW_ruleDelegation_in_rule__RelationDeclaration__Alternatives2127);
                    ruleDelegation();
                    _fsp--;

                     after(grammarAccess.getRelationDeclarationAccess().getDelegationParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1020:6: ( ruleOwnRelation )
                    {
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1020:6: ( ruleOwnRelation )
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1021:1: ruleOwnRelation
                    {
                     before(grammarAccess.getRelationDeclarationAccess().getOwnRelationParserRuleCall_2()); 
                    pushFollow(FollowSets000.FOLLOW_ruleOwnRelation_in_rule__RelationDeclaration__Alternatives2144);
                    ruleOwnRelation();
                    _fsp--;

                     after(grammarAccess.getRelationDeclarationAccess().getOwnRelationParserRuleCall_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RelationDeclaration__Alternatives


    // $ANTLR start rule__Situation__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1033:1: rule__Situation__Group__0 : rule__Situation__Group__0__Impl rule__Situation__Group__1 ;
    public final void rule__Situation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1037:1: ( rule__Situation__Group__0__Impl rule__Situation__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1038:2: rule__Situation__Group__0__Impl rule__Situation__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Situation__Group__0__Impl_in_rule__Situation__Group__02174);
            rule__Situation__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Situation__Group__1_in_rule__Situation__Group__02177);
            rule__Situation__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Situation__Group__0


    // $ANTLR start rule__Situation__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1045:1: rule__Situation__Group__0__Impl : ( 'situation' ) ;
    public final void rule__Situation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1049:1: ( ( 'situation' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1050:1: ( 'situation' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1050:1: ( 'situation' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1051:1: 'situation'
            {
             before(grammarAccess.getSituationAccess().getSituationKeyword_0()); 
            match(input,19,FollowSets000.FOLLOW_19_in_rule__Situation__Group__0__Impl2205); 
             after(grammarAccess.getSituationAccess().getSituationKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Situation__Group__0__Impl


    // $ANTLR start rule__Situation__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1064:1: rule__Situation__Group__1 : rule__Situation__Group__1__Impl rule__Situation__Group__2 ;
    public final void rule__Situation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1068:1: ( rule__Situation__Group__1__Impl rule__Situation__Group__2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1069:2: rule__Situation__Group__1__Impl rule__Situation__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Situation__Group__1__Impl_in_rule__Situation__Group__12236);
            rule__Situation__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Situation__Group__2_in_rule__Situation__Group__12239);
            rule__Situation__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Situation__Group__1


    // $ANTLR start rule__Situation__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1076:1: rule__Situation__Group__1__Impl : ( ( rule__Situation__NameAssignment_1 ) ) ;
    public final void rule__Situation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1080:1: ( ( ( rule__Situation__NameAssignment_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1081:1: ( ( rule__Situation__NameAssignment_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1081:1: ( ( rule__Situation__NameAssignment_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1082:1: ( rule__Situation__NameAssignment_1 )
            {
             before(grammarAccess.getSituationAccess().getNameAssignment_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1083:1: ( rule__Situation__NameAssignment_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1083:2: rule__Situation__NameAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Situation__NameAssignment_1_in_rule__Situation__Group__1__Impl2266);
            rule__Situation__NameAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getSituationAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Situation__Group__1__Impl


    // $ANTLR start rule__Situation__Group__2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1093:1: rule__Situation__Group__2 : rule__Situation__Group__2__Impl rule__Situation__Group__3 ;
    public final void rule__Situation__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1097:1: ( rule__Situation__Group__2__Impl rule__Situation__Group__3 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1098:2: rule__Situation__Group__2__Impl rule__Situation__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Situation__Group__2__Impl_in_rule__Situation__Group__22296);
            rule__Situation__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Situation__Group__3_in_rule__Situation__Group__22299);
            rule__Situation__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Situation__Group__2


    // $ANTLR start rule__Situation__Group__2__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1105:1: rule__Situation__Group__2__Impl : ( ';' ) ;
    public final void rule__Situation__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1109:1: ( ( ';' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1110:1: ( ';' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1110:1: ( ';' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1111:1: ';'
            {
             before(grammarAccess.getSituationAccess().getSemicolonKeyword_2()); 
            match(input,20,FollowSets000.FOLLOW_20_in_rule__Situation__Group__2__Impl2327); 
             after(grammarAccess.getSituationAccess().getSemicolonKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Situation__Group__2__Impl


    // $ANTLR start rule__Situation__Group__3
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1124:1: rule__Situation__Group__3 : rule__Situation__Group__3__Impl rule__Situation__Group__4 ;
    public final void rule__Situation__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1128:1: ( rule__Situation__Group__3__Impl rule__Situation__Group__4 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1129:2: rule__Situation__Group__3__Impl rule__Situation__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Situation__Group__3__Impl_in_rule__Situation__Group__32358);
            rule__Situation__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Situation__Group__4_in_rule__Situation__Group__32361);
            rule__Situation__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Situation__Group__3


    // $ANTLR start rule__Situation__Group__3__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1136:1: rule__Situation__Group__3__Impl : ( ( rule__Situation__IncludesAssignment_3 )* ) ;
    public final void rule__Situation__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1140:1: ( ( ( rule__Situation__IncludesAssignment_3 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1141:1: ( ( rule__Situation__IncludesAssignment_3 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1141:1: ( ( rule__Situation__IncludesAssignment_3 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1142:1: ( rule__Situation__IncludesAssignment_3 )*
            {
             before(grammarAccess.getSituationAccess().getIncludesAssignment_3()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1143:1: ( rule__Situation__IncludesAssignment_3 )*
            loop13:
            do {
                int alt13=2;
                int LA13_0 = input.LA(1);

                if ( (LA13_0==21) ) {
                    alt13=1;
                }


                switch (alt13) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1143:2: rule__Situation__IncludesAssignment_3
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__Situation__IncludesAssignment_3_in_rule__Situation__Group__3__Impl2388);
            	    rule__Situation__IncludesAssignment_3();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop13;
                }
            } while (true);

             after(grammarAccess.getSituationAccess().getIncludesAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Situation__Group__3__Impl


    // $ANTLR start rule__Situation__Group__4
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1153:1: rule__Situation__Group__4 : rule__Situation__Group__4__Impl rule__Situation__Group__5 ;
    public final void rule__Situation__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1157:1: ( rule__Situation__Group__4__Impl rule__Situation__Group__5 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1158:2: rule__Situation__Group__4__Impl rule__Situation__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__Situation__Group__4__Impl_in_rule__Situation__Group__42419);
            rule__Situation__Group__4__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Situation__Group__5_in_rule__Situation__Group__42422);
            rule__Situation__Group__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Situation__Group__4


    // $ANTLR start rule__Situation__Group__4__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1165:1: rule__Situation__Group__4__Impl : ( ( rule__Situation__ImportsAssignment_4 )* ) ;
    public final void rule__Situation__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1169:1: ( ( ( rule__Situation__ImportsAssignment_4 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1170:1: ( ( rule__Situation__ImportsAssignment_4 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1170:1: ( ( rule__Situation__ImportsAssignment_4 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1171:1: ( rule__Situation__ImportsAssignment_4 )*
            {
             before(grammarAccess.getSituationAccess().getImportsAssignment_4()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1172:1: ( rule__Situation__ImportsAssignment_4 )*
            loop14:
            do {
                int alt14=2;
                int LA14_0 = input.LA(1);

                if ( (LA14_0==22) ) {
                    alt14=1;
                }


                switch (alt14) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1172:2: rule__Situation__ImportsAssignment_4
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__Situation__ImportsAssignment_4_in_rule__Situation__Group__4__Impl2449);
            	    rule__Situation__ImportsAssignment_4();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop14;
                }
            } while (true);

             after(grammarAccess.getSituationAccess().getImportsAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Situation__Group__4__Impl


    // $ANTLR start rule__Situation__Group__5
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1182:1: rule__Situation__Group__5 : rule__Situation__Group__5__Impl ;
    public final void rule__Situation__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1186:1: ( rule__Situation__Group__5__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1187:2: rule__Situation__Group__5__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Situation__Group__5__Impl_in_rule__Situation__Group__52480);
            rule__Situation__Group__5__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Situation__Group__5


    // $ANTLR start rule__Situation__Group__5__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1193:1: rule__Situation__Group__5__Impl : ( ( rule__Situation__ChildrenAssignment_5 )* ) ;
    public final void rule__Situation__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1197:1: ( ( ( rule__Situation__ChildrenAssignment_5 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1198:1: ( ( rule__Situation__ChildrenAssignment_5 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1198:1: ( ( rule__Situation__ChildrenAssignment_5 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1199:1: ( rule__Situation__ChildrenAssignment_5 )*
            {
             before(grammarAccess.getSituationAccess().getChildrenAssignment_5()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1200:1: ( rule__Situation__ChildrenAssignment_5 )*
            loop15:
            do {
                int alt15=2;
                int LA15_0 = input.LA(1);

                if ( ((LA15_0>=23 && LA15_0<=24)||LA15_0==35) ) {
                    alt15=1;
                }


                switch (alt15) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1200:2: rule__Situation__ChildrenAssignment_5
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__Situation__ChildrenAssignment_5_in_rule__Situation__Group__5__Impl2507);
            	    rule__Situation__ChildrenAssignment_5();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop15;
                }
            } while (true);

             after(grammarAccess.getSituationAccess().getChildrenAssignment_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Situation__Group__5__Impl


    // $ANTLR start rule__IncludeSituation__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1222:1: rule__IncludeSituation__Group__0 : rule__IncludeSituation__Group__0__Impl rule__IncludeSituation__Group__1 ;
    public final void rule__IncludeSituation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1226:1: ( rule__IncludeSituation__Group__0__Impl rule__IncludeSituation__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1227:2: rule__IncludeSituation__Group__0__Impl rule__IncludeSituation__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__IncludeSituation__Group__0__Impl_in_rule__IncludeSituation__Group__02550);
            rule__IncludeSituation__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__IncludeSituation__Group__1_in_rule__IncludeSituation__Group__02553);
            rule__IncludeSituation__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IncludeSituation__Group__0


    // $ANTLR start rule__IncludeSituation__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1234:1: rule__IncludeSituation__Group__0__Impl : ( 'include' ) ;
    public final void rule__IncludeSituation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1238:1: ( ( 'include' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1239:1: ( 'include' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1239:1: ( 'include' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1240:1: 'include'
            {
             before(grammarAccess.getIncludeSituationAccess().getIncludeKeyword_0()); 
            match(input,21,FollowSets000.FOLLOW_21_in_rule__IncludeSituation__Group__0__Impl2581); 
             after(grammarAccess.getIncludeSituationAccess().getIncludeKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IncludeSituation__Group__0__Impl


    // $ANTLR start rule__IncludeSituation__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1253:1: rule__IncludeSituation__Group__1 : rule__IncludeSituation__Group__1__Impl rule__IncludeSituation__Group__2 ;
    public final void rule__IncludeSituation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1257:1: ( rule__IncludeSituation__Group__1__Impl rule__IncludeSituation__Group__2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1258:2: rule__IncludeSituation__Group__1__Impl rule__IncludeSituation__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__IncludeSituation__Group__1__Impl_in_rule__IncludeSituation__Group__12612);
            rule__IncludeSituation__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__IncludeSituation__Group__2_in_rule__IncludeSituation__Group__12615);
            rule__IncludeSituation__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IncludeSituation__Group__1


    // $ANTLR start rule__IncludeSituation__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1265:1: rule__IncludeSituation__Group__1__Impl : ( ( rule__IncludeSituation__ImportURIAssignment_1 ) ) ;
    public final void rule__IncludeSituation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1269:1: ( ( ( rule__IncludeSituation__ImportURIAssignment_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1270:1: ( ( rule__IncludeSituation__ImportURIAssignment_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1270:1: ( ( rule__IncludeSituation__ImportURIAssignment_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1271:1: ( rule__IncludeSituation__ImportURIAssignment_1 )
            {
             before(grammarAccess.getIncludeSituationAccess().getImportURIAssignment_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1272:1: ( rule__IncludeSituation__ImportURIAssignment_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1272:2: rule__IncludeSituation__ImportURIAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__IncludeSituation__ImportURIAssignment_1_in_rule__IncludeSituation__Group__1__Impl2642);
            rule__IncludeSituation__ImportURIAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getIncludeSituationAccess().getImportURIAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IncludeSituation__Group__1__Impl


    // $ANTLR start rule__IncludeSituation__Group__2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1282:1: rule__IncludeSituation__Group__2 : rule__IncludeSituation__Group__2__Impl ;
    public final void rule__IncludeSituation__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1286:1: ( rule__IncludeSituation__Group__2__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1287:2: rule__IncludeSituation__Group__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__IncludeSituation__Group__2__Impl_in_rule__IncludeSituation__Group__22672);
            rule__IncludeSituation__Group__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IncludeSituation__Group__2


    // $ANTLR start rule__IncludeSituation__Group__2__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1293:1: rule__IncludeSituation__Group__2__Impl : ( ';' ) ;
    public final void rule__IncludeSituation__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1297:1: ( ( ';' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1298:1: ( ';' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1298:1: ( ';' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1299:1: ';'
            {
             before(grammarAccess.getIncludeSituationAccess().getSemicolonKeyword_2()); 
            match(input,20,FollowSets000.FOLLOW_20_in_rule__IncludeSituation__Group__2__Impl2700); 
             after(grammarAccess.getIncludeSituationAccess().getSemicolonKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IncludeSituation__Group__2__Impl


    // $ANTLR start rule__ImportNamespace__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1318:1: rule__ImportNamespace__Group__0 : rule__ImportNamespace__Group__0__Impl rule__ImportNamespace__Group__1 ;
    public final void rule__ImportNamespace__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1322:1: ( rule__ImportNamespace__Group__0__Impl rule__ImportNamespace__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1323:2: rule__ImportNamespace__Group__0__Impl rule__ImportNamespace__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ImportNamespace__Group__0__Impl_in_rule__ImportNamespace__Group__02737);
            rule__ImportNamespace__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__ImportNamespace__Group__1_in_rule__ImportNamespace__Group__02740);
            rule__ImportNamespace__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ImportNamespace__Group__0


    // $ANTLR start rule__ImportNamespace__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1330:1: rule__ImportNamespace__Group__0__Impl : ( 'import' ) ;
    public final void rule__ImportNamespace__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1334:1: ( ( 'import' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1335:1: ( 'import' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1335:1: ( 'import' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1336:1: 'import'
            {
             before(grammarAccess.getImportNamespaceAccess().getImportKeyword_0()); 
            match(input,22,FollowSets000.FOLLOW_22_in_rule__ImportNamespace__Group__0__Impl2768); 
             after(grammarAccess.getImportNamespaceAccess().getImportKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ImportNamespace__Group__0__Impl


    // $ANTLR start rule__ImportNamespace__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1349:1: rule__ImportNamespace__Group__1 : rule__ImportNamespace__Group__1__Impl rule__ImportNamespace__Group__2 ;
    public final void rule__ImportNamespace__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1353:1: ( rule__ImportNamespace__Group__1__Impl rule__ImportNamespace__Group__2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1354:2: rule__ImportNamespace__Group__1__Impl rule__ImportNamespace__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__ImportNamespace__Group__1__Impl_in_rule__ImportNamespace__Group__12799);
            rule__ImportNamespace__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__ImportNamespace__Group__2_in_rule__ImportNamespace__Group__12802);
            rule__ImportNamespace__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ImportNamespace__Group__1


    // $ANTLR start rule__ImportNamespace__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1361:1: rule__ImportNamespace__Group__1__Impl : ( ( rule__ImportNamespace__ImportedNamespaceAssignment_1 ) ) ;
    public final void rule__ImportNamespace__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1365:1: ( ( ( rule__ImportNamespace__ImportedNamespaceAssignment_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1366:1: ( ( rule__ImportNamespace__ImportedNamespaceAssignment_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1366:1: ( ( rule__ImportNamespace__ImportedNamespaceAssignment_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1367:1: ( rule__ImportNamespace__ImportedNamespaceAssignment_1 )
            {
             before(grammarAccess.getImportNamespaceAccess().getImportedNamespaceAssignment_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1368:1: ( rule__ImportNamespace__ImportedNamespaceAssignment_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1368:2: rule__ImportNamespace__ImportedNamespaceAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ImportNamespace__ImportedNamespaceAssignment_1_in_rule__ImportNamespace__Group__1__Impl2829);
            rule__ImportNamespace__ImportedNamespaceAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getImportNamespaceAccess().getImportedNamespaceAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ImportNamespace__Group__1__Impl


    // $ANTLR start rule__ImportNamespace__Group__2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1378:1: rule__ImportNamespace__Group__2 : rule__ImportNamespace__Group__2__Impl ;
    public final void rule__ImportNamespace__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1382:1: ( rule__ImportNamespace__Group__2__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1383:2: rule__ImportNamespace__Group__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ImportNamespace__Group__2__Impl_in_rule__ImportNamespace__Group__22859);
            rule__ImportNamespace__Group__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ImportNamespace__Group__2


    // $ANTLR start rule__ImportNamespace__Group__2__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1389:1: rule__ImportNamespace__Group__2__Impl : ( ';' ) ;
    public final void rule__ImportNamespace__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1393:1: ( ( ';' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1394:1: ( ';' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1394:1: ( ';' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1395:1: ';'
            {
             before(grammarAccess.getImportNamespaceAccess().getSemicolonKeyword_2()); 
            match(input,20,FollowSets000.FOLLOW_20_in_rule__ImportNamespace__Group__2__Impl2887); 
             after(grammarAccess.getImportNamespaceAccess().getSemicolonKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ImportNamespace__Group__2__Impl


    // $ANTLR start rule__EvolutionModel__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1414:1: rule__EvolutionModel__Group__0 : rule__EvolutionModel__Group__0__Impl rule__EvolutionModel__Group__1 ;
    public final void rule__EvolutionModel__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1418:1: ( rule__EvolutionModel__Group__0__Impl rule__EvolutionModel__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1419:2: rule__EvolutionModel__Group__0__Impl rule__EvolutionModel__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group__0__Impl_in_rule__EvolutionModel__Group__02924);
            rule__EvolutionModel__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group__1_in_rule__EvolutionModel__Group__02927);
            rule__EvolutionModel__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group__0


    // $ANTLR start rule__EvolutionModel__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1426:1: rule__EvolutionModel__Group__0__Impl : ( 'evolution' ) ;
    public final void rule__EvolutionModel__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1430:1: ( ( 'evolution' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1431:1: ( 'evolution' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1431:1: ( 'evolution' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1432:1: 'evolution'
            {
             before(grammarAccess.getEvolutionModelAccess().getEvolutionKeyword_0()); 
            match(input,23,FollowSets000.FOLLOW_23_in_rule__EvolutionModel__Group__0__Impl2955); 
             after(grammarAccess.getEvolutionModelAccess().getEvolutionKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group__0__Impl


    // $ANTLR start rule__EvolutionModel__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1445:1: rule__EvolutionModel__Group__1 : rule__EvolutionModel__Group__1__Impl rule__EvolutionModel__Group__2 ;
    public final void rule__EvolutionModel__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1449:1: ( rule__EvolutionModel__Group__1__Impl rule__EvolutionModel__Group__2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1450:2: rule__EvolutionModel__Group__1__Impl rule__EvolutionModel__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group__1__Impl_in_rule__EvolutionModel__Group__12986);
            rule__EvolutionModel__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group__2_in_rule__EvolutionModel__Group__12989);
            rule__EvolutionModel__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group__1


    // $ANTLR start rule__EvolutionModel__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1457:1: rule__EvolutionModel__Group__1__Impl : ( 'model' ) ;
    public final void rule__EvolutionModel__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1461:1: ( ( 'model' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1462:1: ( 'model' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1462:1: ( 'model' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1463:1: 'model'
            {
             before(grammarAccess.getEvolutionModelAccess().getModelKeyword_1()); 
            match(input,24,FollowSets000.FOLLOW_24_in_rule__EvolutionModel__Group__1__Impl3017); 
             after(grammarAccess.getEvolutionModelAccess().getModelKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group__1__Impl


    // $ANTLR start rule__EvolutionModel__Group__2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1476:1: rule__EvolutionModel__Group__2 : rule__EvolutionModel__Group__2__Impl rule__EvolutionModel__Group__3 ;
    public final void rule__EvolutionModel__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1480:1: ( rule__EvolutionModel__Group__2__Impl rule__EvolutionModel__Group__3 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1481:2: rule__EvolutionModel__Group__2__Impl rule__EvolutionModel__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group__2__Impl_in_rule__EvolutionModel__Group__23048);
            rule__EvolutionModel__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group__3_in_rule__EvolutionModel__Group__23051);
            rule__EvolutionModel__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group__2


    // $ANTLR start rule__EvolutionModel__Group__2__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1488:1: rule__EvolutionModel__Group__2__Impl : ( ( rule__EvolutionModel__NameAssignment_2 ) ) ;
    public final void rule__EvolutionModel__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1492:1: ( ( ( rule__EvolutionModel__NameAssignment_2 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1493:1: ( ( rule__EvolutionModel__NameAssignment_2 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1493:1: ( ( rule__EvolutionModel__NameAssignment_2 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1494:1: ( rule__EvolutionModel__NameAssignment_2 )
            {
             before(grammarAccess.getEvolutionModelAccess().getNameAssignment_2()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1495:1: ( rule__EvolutionModel__NameAssignment_2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1495:2: rule__EvolutionModel__NameAssignment_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__NameAssignment_2_in_rule__EvolutionModel__Group__2__Impl3078);
            rule__EvolutionModel__NameAssignment_2();
            _fsp--;


            }

             after(grammarAccess.getEvolutionModelAccess().getNameAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group__2__Impl


    // $ANTLR start rule__EvolutionModel__Group__3
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1505:1: rule__EvolutionModel__Group__3 : rule__EvolutionModel__Group__3__Impl rule__EvolutionModel__Group__4 ;
    public final void rule__EvolutionModel__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1509:1: ( rule__EvolutionModel__Group__3__Impl rule__EvolutionModel__Group__4 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1510:2: rule__EvolutionModel__Group__3__Impl rule__EvolutionModel__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group__3__Impl_in_rule__EvolutionModel__Group__33108);
            rule__EvolutionModel__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group__4_in_rule__EvolutionModel__Group__33111);
            rule__EvolutionModel__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group__3


    // $ANTLR start rule__EvolutionModel__Group__3__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1517:1: rule__EvolutionModel__Group__3__Impl : ( ( rule__EvolutionModel__Group_3__0 )? ) ;
    public final void rule__EvolutionModel__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1521:1: ( ( ( rule__EvolutionModel__Group_3__0 )? ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1522:1: ( ( rule__EvolutionModel__Group_3__0 )? )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1522:1: ( ( rule__EvolutionModel__Group_3__0 )? )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1523:1: ( rule__EvolutionModel__Group_3__0 )?
            {
             before(grammarAccess.getEvolutionModelAccess().getGroup_3()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1524:1: ( rule__EvolutionModel__Group_3__0 )?
            int alt16=2;
            int LA16_0 = input.LA(1);

            if ( (LA16_0==28) ) {
                alt16=1;
            }
            switch (alt16) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1524:2: rule__EvolutionModel__Group_3__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group_3__0_in_rule__EvolutionModel__Group__3__Impl3138);
                    rule__EvolutionModel__Group_3__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getEvolutionModelAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group__3__Impl


    // $ANTLR start rule__EvolutionModel__Group__4
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1534:1: rule__EvolutionModel__Group__4 : rule__EvolutionModel__Group__4__Impl rule__EvolutionModel__Group__5 ;
    public final void rule__EvolutionModel__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1538:1: ( rule__EvolutionModel__Group__4__Impl rule__EvolutionModel__Group__5 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1539:2: rule__EvolutionModel__Group__4__Impl rule__EvolutionModel__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group__4__Impl_in_rule__EvolutionModel__Group__43169);
            rule__EvolutionModel__Group__4__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group__5_in_rule__EvolutionModel__Group__43172);
            rule__EvolutionModel__Group__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group__4


    // $ANTLR start rule__EvolutionModel__Group__4__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1546:1: rule__EvolutionModel__Group__4__Impl : ( 'on' ) ;
    public final void rule__EvolutionModel__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1550:1: ( ( 'on' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1551:1: ( 'on' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1551:1: ( 'on' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1552:1: 'on'
            {
             before(grammarAccess.getEvolutionModelAccess().getOnKeyword_4()); 
            match(input,25,FollowSets000.FOLLOW_25_in_rule__EvolutionModel__Group__4__Impl3200); 
             after(grammarAccess.getEvolutionModelAccess().getOnKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group__4__Impl


    // $ANTLR start rule__EvolutionModel__Group__5
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1565:1: rule__EvolutionModel__Group__5 : rule__EvolutionModel__Group__5__Impl rule__EvolutionModel__Group__6 ;
    public final void rule__EvolutionModel__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1569:1: ( rule__EvolutionModel__Group__5__Impl rule__EvolutionModel__Group__6 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1570:2: rule__EvolutionModel__Group__5__Impl rule__EvolutionModel__Group__6
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group__5__Impl_in_rule__EvolutionModel__Group__53231);
            rule__EvolutionModel__Group__5__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group__6_in_rule__EvolutionModel__Group__53234);
            rule__EvolutionModel__Group__6();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group__5


    // $ANTLR start rule__EvolutionModel__Group__5__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1577:1: rule__EvolutionModel__Group__5__Impl : ( ( rule__EvolutionModel__ModelAssignment_5 ) ) ;
    public final void rule__EvolutionModel__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1581:1: ( ( ( rule__EvolutionModel__ModelAssignment_5 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1582:1: ( ( rule__EvolutionModel__ModelAssignment_5 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1582:1: ( ( rule__EvolutionModel__ModelAssignment_5 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1583:1: ( rule__EvolutionModel__ModelAssignment_5 )
            {
             before(grammarAccess.getEvolutionModelAccess().getModelAssignment_5()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1584:1: ( rule__EvolutionModel__ModelAssignment_5 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1584:2: rule__EvolutionModel__ModelAssignment_5
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__ModelAssignment_5_in_rule__EvolutionModel__Group__5__Impl3261);
            rule__EvolutionModel__ModelAssignment_5();
            _fsp--;


            }

             after(grammarAccess.getEvolutionModelAccess().getModelAssignment_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group__5__Impl


    // $ANTLR start rule__EvolutionModel__Group__6
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1594:1: rule__EvolutionModel__Group__6 : rule__EvolutionModel__Group__6__Impl rule__EvolutionModel__Group__7 ;
    public final void rule__EvolutionModel__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1598:1: ( rule__EvolutionModel__Group__6__Impl rule__EvolutionModel__Group__7 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1599:2: rule__EvolutionModel__Group__6__Impl rule__EvolutionModel__Group__7
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group__6__Impl_in_rule__EvolutionModel__Group__63291);
            rule__EvolutionModel__Group__6__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group__7_in_rule__EvolutionModel__Group__63294);
            rule__EvolutionModel__Group__7();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group__6


    // $ANTLR start rule__EvolutionModel__Group__6__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1606:1: rule__EvolutionModel__Group__6__Impl : ( '{' ) ;
    public final void rule__EvolutionModel__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1610:1: ( ( '{' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1611:1: ( '{' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1611:1: ( '{' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1612:1: '{'
            {
             before(grammarAccess.getEvolutionModelAccess().getLeftCurlyBracketKeyword_6()); 
            match(input,26,FollowSets000.FOLLOW_26_in_rule__EvolutionModel__Group__6__Impl3322); 
             after(grammarAccess.getEvolutionModelAccess().getLeftCurlyBracketKeyword_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group__6__Impl


    // $ANTLR start rule__EvolutionModel__Group__7
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1625:1: rule__EvolutionModel__Group__7 : rule__EvolutionModel__Group__7__Impl rule__EvolutionModel__Group__8 ;
    public final void rule__EvolutionModel__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1629:1: ( rule__EvolutionModel__Group__7__Impl rule__EvolutionModel__Group__8 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1630:2: rule__EvolutionModel__Group__7__Impl rule__EvolutionModel__Group__8
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group__7__Impl_in_rule__EvolutionModel__Group__73353);
            rule__EvolutionModel__Group__7__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group__8_in_rule__EvolutionModel__Group__73356);
            rule__EvolutionModel__Group__8();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group__7


    // $ANTLR start rule__EvolutionModel__Group__7__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1637:1: rule__EvolutionModel__Group__7__Impl : ( ( rule__EvolutionModel__ChildrenAssignment_7 )* ) ;
    public final void rule__EvolutionModel__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1641:1: ( ( ( rule__EvolutionModel__ChildrenAssignment_7 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1642:1: ( ( rule__EvolutionModel__ChildrenAssignment_7 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1642:1: ( ( rule__EvolutionModel__ChildrenAssignment_7 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1643:1: ( rule__EvolutionModel__ChildrenAssignment_7 )*
            {
             before(grammarAccess.getEvolutionModelAccess().getChildrenAssignment_7()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1644:1: ( rule__EvolutionModel__ChildrenAssignment_7 )*
            loop17:
            do {
                int alt17=2;
                int LA17_0 = input.LA(1);

                if ( (LA17_0==29) ) {
                    alt17=1;
                }


                switch (alt17) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1644:2: rule__EvolutionModel__ChildrenAssignment_7
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__ChildrenAssignment_7_in_rule__EvolutionModel__Group__7__Impl3383);
            	    rule__EvolutionModel__ChildrenAssignment_7();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop17;
                }
            } while (true);

             after(grammarAccess.getEvolutionModelAccess().getChildrenAssignment_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group__7__Impl


    // $ANTLR start rule__EvolutionModel__Group__8
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1654:1: rule__EvolutionModel__Group__8 : rule__EvolutionModel__Group__8__Impl ;
    public final void rule__EvolutionModel__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1658:1: ( rule__EvolutionModel__Group__8__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1659:2: rule__EvolutionModel__Group__8__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group__8__Impl_in_rule__EvolutionModel__Group__83414);
            rule__EvolutionModel__Group__8__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group__8


    // $ANTLR start rule__EvolutionModel__Group__8__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1665:1: rule__EvolutionModel__Group__8__Impl : ( '}' ) ;
    public final void rule__EvolutionModel__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1669:1: ( ( '}' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1670:1: ( '}' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1670:1: ( '}' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1671:1: '}'
            {
             before(grammarAccess.getEvolutionModelAccess().getRightCurlyBracketKeyword_8()); 
            match(input,27,FollowSets000.FOLLOW_27_in_rule__EvolutionModel__Group__8__Impl3442); 
             after(grammarAccess.getEvolutionModelAccess().getRightCurlyBracketKeyword_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group__8__Impl


    // $ANTLR start rule__EvolutionModel__Group_3__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1702:1: rule__EvolutionModel__Group_3__0 : rule__EvolutionModel__Group_3__0__Impl rule__EvolutionModel__Group_3__1 ;
    public final void rule__EvolutionModel__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1706:1: ( rule__EvolutionModel__Group_3__0__Impl rule__EvolutionModel__Group_3__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1707:2: rule__EvolutionModel__Group_3__0__Impl rule__EvolutionModel__Group_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group_3__0__Impl_in_rule__EvolutionModel__Group_3__03491);
            rule__EvolutionModel__Group_3__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group_3__1_in_rule__EvolutionModel__Group_3__03494);
            rule__EvolutionModel__Group_3__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group_3__0


    // $ANTLR start rule__EvolutionModel__Group_3__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1714:1: rule__EvolutionModel__Group_3__0__Impl : ( ':' ) ;
    public final void rule__EvolutionModel__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1718:1: ( ( ':' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1719:1: ( ':' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1719:1: ( ':' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1720:1: ':'
            {
             before(grammarAccess.getEvolutionModelAccess().getColonKeyword_3_0()); 
            match(input,28,FollowSets000.FOLLOW_28_in_rule__EvolutionModel__Group_3__0__Impl3522); 
             after(grammarAccess.getEvolutionModelAccess().getColonKeyword_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group_3__0__Impl


    // $ANTLR start rule__EvolutionModel__Group_3__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1733:1: rule__EvolutionModel__Group_3__1 : rule__EvolutionModel__Group_3__1__Impl ;
    public final void rule__EvolutionModel__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1737:1: ( rule__EvolutionModel__Group_3__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1738:2: rule__EvolutionModel__Group_3__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__Group_3__1__Impl_in_rule__EvolutionModel__Group_3__13553);
            rule__EvolutionModel__Group_3__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group_3__1


    // $ANTLR start rule__EvolutionModel__Group_3__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1744:1: rule__EvolutionModel__Group_3__1__Impl : ( ( rule__EvolutionModel__TextAssignment_3_1 ) ) ;
    public final void rule__EvolutionModel__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1748:1: ( ( ( rule__EvolutionModel__TextAssignment_3_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1749:1: ( ( rule__EvolutionModel__TextAssignment_3_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1749:1: ( ( rule__EvolutionModel__TextAssignment_3_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1750:1: ( rule__EvolutionModel__TextAssignment_3_1 )
            {
             before(grammarAccess.getEvolutionModelAccess().getTextAssignment_3_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1751:1: ( rule__EvolutionModel__TextAssignment_3_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1751:2: rule__EvolutionModel__TextAssignment_3_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionModel__TextAssignment_3_1_in_rule__EvolutionModel__Group_3__1__Impl3580);
            rule__EvolutionModel__TextAssignment_3_1();
            _fsp--;


            }

             after(grammarAccess.getEvolutionModelAccess().getTextAssignment_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__Group_3__1__Impl


    // $ANTLR start rule__EvolutionRule__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1765:1: rule__EvolutionRule__Group__0 : rule__EvolutionRule__Group__0__Impl rule__EvolutionRule__Group__1 ;
    public final void rule__EvolutionRule__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1769:1: ( rule__EvolutionRule__Group__0__Impl rule__EvolutionRule__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1770:2: rule__EvolutionRule__Group__0__Impl rule__EvolutionRule__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group__0__Impl_in_rule__EvolutionRule__Group__03614);
            rule__EvolutionRule__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group__1_in_rule__EvolutionRule__Group__03617);
            rule__EvolutionRule__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group__0


    // $ANTLR start rule__EvolutionRule__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1777:1: rule__EvolutionRule__Group__0__Impl : ( 'rule' ) ;
    public final void rule__EvolutionRule__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1781:1: ( ( 'rule' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1782:1: ( 'rule' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1782:1: ( 'rule' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1783:1: 'rule'
            {
             before(grammarAccess.getEvolutionRuleAccess().getRuleKeyword_0()); 
            match(input,29,FollowSets000.FOLLOW_29_in_rule__EvolutionRule__Group__0__Impl3645); 
             after(grammarAccess.getEvolutionRuleAccess().getRuleKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group__0__Impl


    // $ANTLR start rule__EvolutionRule__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1796:1: rule__EvolutionRule__Group__1 : rule__EvolutionRule__Group__1__Impl rule__EvolutionRule__Group__2 ;
    public final void rule__EvolutionRule__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1800:1: ( rule__EvolutionRule__Group__1__Impl rule__EvolutionRule__Group__2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1801:2: rule__EvolutionRule__Group__1__Impl rule__EvolutionRule__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group__1__Impl_in_rule__EvolutionRule__Group__13676);
            rule__EvolutionRule__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group__2_in_rule__EvolutionRule__Group__13679);
            rule__EvolutionRule__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group__1


    // $ANTLR start rule__EvolutionRule__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1808:1: rule__EvolutionRule__Group__1__Impl : ( ( rule__EvolutionRule__NameAssignment_1 ) ) ;
    public final void rule__EvolutionRule__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1812:1: ( ( ( rule__EvolutionRule__NameAssignment_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1813:1: ( ( rule__EvolutionRule__NameAssignment_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1813:1: ( ( rule__EvolutionRule__NameAssignment_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1814:1: ( rule__EvolutionRule__NameAssignment_1 )
            {
             before(grammarAccess.getEvolutionRuleAccess().getNameAssignment_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1815:1: ( rule__EvolutionRule__NameAssignment_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1815:2: rule__EvolutionRule__NameAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__NameAssignment_1_in_rule__EvolutionRule__Group__1__Impl3706);
            rule__EvolutionRule__NameAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getEvolutionRuleAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group__1__Impl


    // $ANTLR start rule__EvolutionRule__Group__2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1825:1: rule__EvolutionRule__Group__2 : rule__EvolutionRule__Group__2__Impl rule__EvolutionRule__Group__3 ;
    public final void rule__EvolutionRule__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1829:1: ( rule__EvolutionRule__Group__2__Impl rule__EvolutionRule__Group__3 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1830:2: rule__EvolutionRule__Group__2__Impl rule__EvolutionRule__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group__2__Impl_in_rule__EvolutionRule__Group__23736);
            rule__EvolutionRule__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group__3_in_rule__EvolutionRule__Group__23739);
            rule__EvolutionRule__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group__2


    // $ANTLR start rule__EvolutionRule__Group__2__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1837:1: rule__EvolutionRule__Group__2__Impl : ( ( rule__EvolutionRule__Group_2__0 )? ) ;
    public final void rule__EvolutionRule__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1841:1: ( ( ( rule__EvolutionRule__Group_2__0 )? ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1842:1: ( ( rule__EvolutionRule__Group_2__0 )? )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1842:1: ( ( rule__EvolutionRule__Group_2__0 )? )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1843:1: ( rule__EvolutionRule__Group_2__0 )?
            {
             before(grammarAccess.getEvolutionRuleAccess().getGroup_2()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1844:1: ( rule__EvolutionRule__Group_2__0 )?
            int alt18=2;
            int LA18_0 = input.LA(1);

            if ( (LA18_0==28) ) {
                alt18=1;
            }
            switch (alt18) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1844:2: rule__EvolutionRule__Group_2__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group_2__0_in_rule__EvolutionRule__Group__2__Impl3766);
                    rule__EvolutionRule__Group_2__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getEvolutionRuleAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group__2__Impl


    // $ANTLR start rule__EvolutionRule__Group__3
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1854:1: rule__EvolutionRule__Group__3 : rule__EvolutionRule__Group__3__Impl rule__EvolutionRule__Group__4 ;
    public final void rule__EvolutionRule__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1858:1: ( rule__EvolutionRule__Group__3__Impl rule__EvolutionRule__Group__4 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1859:2: rule__EvolutionRule__Group__3__Impl rule__EvolutionRule__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group__3__Impl_in_rule__EvolutionRule__Group__33797);
            rule__EvolutionRule__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group__4_in_rule__EvolutionRule__Group__33800);
            rule__EvolutionRule__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group__3


    // $ANTLR start rule__EvolutionRule__Group__3__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1866:1: rule__EvolutionRule__Group__3__Impl : ( 'on' ) ;
    public final void rule__EvolutionRule__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1870:1: ( ( 'on' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1871:1: ( 'on' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1871:1: ( 'on' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1872:1: 'on'
            {
             before(grammarAccess.getEvolutionRuleAccess().getOnKeyword_3()); 
            match(input,25,FollowSets000.FOLLOW_25_in_rule__EvolutionRule__Group__3__Impl3828); 
             after(grammarAccess.getEvolutionRuleAccess().getOnKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group__3__Impl


    // $ANTLR start rule__EvolutionRule__Group__4
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1885:1: rule__EvolutionRule__Group__4 : rule__EvolutionRule__Group__4__Impl rule__EvolutionRule__Group__5 ;
    public final void rule__EvolutionRule__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1889:1: ( rule__EvolutionRule__Group__4__Impl rule__EvolutionRule__Group__5 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1890:2: rule__EvolutionRule__Group__4__Impl rule__EvolutionRule__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group__4__Impl_in_rule__EvolutionRule__Group__43859);
            rule__EvolutionRule__Group__4__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group__5_in_rule__EvolutionRule__Group__43862);
            rule__EvolutionRule__Group__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group__4


    // $ANTLR start rule__EvolutionRule__Group__4__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1897:1: rule__EvolutionRule__Group__4__Impl : ( ( rule__EvolutionRule__OriginalAssignment_4 ) ) ;
    public final void rule__EvolutionRule__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1901:1: ( ( ( rule__EvolutionRule__OriginalAssignment_4 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1902:1: ( ( rule__EvolutionRule__OriginalAssignment_4 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1902:1: ( ( rule__EvolutionRule__OriginalAssignment_4 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1903:1: ( rule__EvolutionRule__OriginalAssignment_4 )
            {
             before(grammarAccess.getEvolutionRuleAccess().getOriginalAssignment_4()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1904:1: ( rule__EvolutionRule__OriginalAssignment_4 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1904:2: rule__EvolutionRule__OriginalAssignment_4
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__OriginalAssignment_4_in_rule__EvolutionRule__Group__4__Impl3889);
            rule__EvolutionRule__OriginalAssignment_4();
            _fsp--;


            }

             after(grammarAccess.getEvolutionRuleAccess().getOriginalAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group__4__Impl


    // $ANTLR start rule__EvolutionRule__Group__5
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1914:1: rule__EvolutionRule__Group__5 : rule__EvolutionRule__Group__5__Impl rule__EvolutionRule__Group__6 ;
    public final void rule__EvolutionRule__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1918:1: ( rule__EvolutionRule__Group__5__Impl rule__EvolutionRule__Group__6 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1919:2: rule__EvolutionRule__Group__5__Impl rule__EvolutionRule__Group__6
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group__5__Impl_in_rule__EvolutionRule__Group__53919);
            rule__EvolutionRule__Group__5__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group__6_in_rule__EvolutionRule__Group__53922);
            rule__EvolutionRule__Group__6();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group__5


    // $ANTLR start rule__EvolutionRule__Group__5__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1926:1: rule__EvolutionRule__Group__5__Impl : ( '{' ) ;
    public final void rule__EvolutionRule__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1930:1: ( ( '{' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1931:1: ( '{' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1931:1: ( '{' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1932:1: '{'
            {
             before(grammarAccess.getEvolutionRuleAccess().getLeftCurlyBracketKeyword_5()); 
            match(input,26,FollowSets000.FOLLOW_26_in_rule__EvolutionRule__Group__5__Impl3950); 
             after(grammarAccess.getEvolutionRuleAccess().getLeftCurlyBracketKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group__5__Impl


    // $ANTLR start rule__EvolutionRule__Group__6
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1945:1: rule__EvolutionRule__Group__6 : rule__EvolutionRule__Group__6__Impl rule__EvolutionRule__Group__7 ;
    public final void rule__EvolutionRule__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1949:1: ( rule__EvolutionRule__Group__6__Impl rule__EvolutionRule__Group__7 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1950:2: rule__EvolutionRule__Group__6__Impl rule__EvolutionRule__Group__7
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group__6__Impl_in_rule__EvolutionRule__Group__63981);
            rule__EvolutionRule__Group__6__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group__7_in_rule__EvolutionRule__Group__63984);
            rule__EvolutionRule__Group__7();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group__6


    // $ANTLR start rule__EvolutionRule__Group__6__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1957:1: rule__EvolutionRule__Group__6__Impl : ( ( rule__EvolutionRule__ImportsAssignment_6 )* ) ;
    public final void rule__EvolutionRule__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1961:1: ( ( ( rule__EvolutionRule__ImportsAssignment_6 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1962:1: ( ( rule__EvolutionRule__ImportsAssignment_6 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1962:1: ( ( rule__EvolutionRule__ImportsAssignment_6 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1963:1: ( rule__EvolutionRule__ImportsAssignment_6 )*
            {
             before(grammarAccess.getEvolutionRuleAccess().getImportsAssignment_6()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1964:1: ( rule__EvolutionRule__ImportsAssignment_6 )*
            loop19:
            do {
                int alt19=2;
                int LA19_0 = input.LA(1);

                if ( (LA19_0==22) ) {
                    alt19=1;
                }


                switch (alt19) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1964:2: rule__EvolutionRule__ImportsAssignment_6
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__ImportsAssignment_6_in_rule__EvolutionRule__Group__6__Impl4011);
            	    rule__EvolutionRule__ImportsAssignment_6();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop19;
                }
            } while (true);

             after(grammarAccess.getEvolutionRuleAccess().getImportsAssignment_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group__6__Impl


    // $ANTLR start rule__EvolutionRule__Group__7
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1974:1: rule__EvolutionRule__Group__7 : rule__EvolutionRule__Group__7__Impl rule__EvolutionRule__Group__8 ;
    public final void rule__EvolutionRule__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1978:1: ( rule__EvolutionRule__Group__7__Impl rule__EvolutionRule__Group__8 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1979:2: rule__EvolutionRule__Group__7__Impl rule__EvolutionRule__Group__8
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group__7__Impl_in_rule__EvolutionRule__Group__74042);
            rule__EvolutionRule__Group__7__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group__8_in_rule__EvolutionRule__Group__74045);
            rule__EvolutionRule__Group__8();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group__7


    // $ANTLR start rule__EvolutionRule__Group__7__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1986:1: rule__EvolutionRule__Group__7__Impl : ( ( rule__EvolutionRule__ChildrenAssignment_7 )* ) ;
    public final void rule__EvolutionRule__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1990:1: ( ( ( rule__EvolutionRule__ChildrenAssignment_7 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1991:1: ( ( rule__EvolutionRule__ChildrenAssignment_7 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1991:1: ( ( rule__EvolutionRule__ChildrenAssignment_7 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1992:1: ( rule__EvolutionRule__ChildrenAssignment_7 )*
            {
             before(grammarAccess.getEvolutionRuleAccess().getChildrenAssignment_7()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1993:1: ( rule__EvolutionRule__ChildrenAssignment_7 )*
            loop20:
            do {
                int alt20=2;
                int LA20_0 = input.LA(1);

                if ( (LA20_0==30) ) {
                    alt20=1;
                }


                switch (alt20) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:1993:2: rule__EvolutionRule__ChildrenAssignment_7
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__ChildrenAssignment_7_in_rule__EvolutionRule__Group__7__Impl4072);
            	    rule__EvolutionRule__ChildrenAssignment_7();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop20;
                }
            } while (true);

             after(grammarAccess.getEvolutionRuleAccess().getChildrenAssignment_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group__7__Impl


    // $ANTLR start rule__EvolutionRule__Group__8
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2003:1: rule__EvolutionRule__Group__8 : rule__EvolutionRule__Group__8__Impl ;
    public final void rule__EvolutionRule__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2007:1: ( rule__EvolutionRule__Group__8__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2008:2: rule__EvolutionRule__Group__8__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group__8__Impl_in_rule__EvolutionRule__Group__84103);
            rule__EvolutionRule__Group__8__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group__8


    // $ANTLR start rule__EvolutionRule__Group__8__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2014:1: rule__EvolutionRule__Group__8__Impl : ( '}' ) ;
    public final void rule__EvolutionRule__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2018:1: ( ( '}' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2019:1: ( '}' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2019:1: ( '}' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2020:1: '}'
            {
             before(grammarAccess.getEvolutionRuleAccess().getRightCurlyBracketKeyword_8()); 
            match(input,27,FollowSets000.FOLLOW_27_in_rule__EvolutionRule__Group__8__Impl4131); 
             after(grammarAccess.getEvolutionRuleAccess().getRightCurlyBracketKeyword_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group__8__Impl


    // $ANTLR start rule__EvolutionRule__Group_2__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2051:1: rule__EvolutionRule__Group_2__0 : rule__EvolutionRule__Group_2__0__Impl rule__EvolutionRule__Group_2__1 ;
    public final void rule__EvolutionRule__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2055:1: ( rule__EvolutionRule__Group_2__0__Impl rule__EvolutionRule__Group_2__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2056:2: rule__EvolutionRule__Group_2__0__Impl rule__EvolutionRule__Group_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group_2__0__Impl_in_rule__EvolutionRule__Group_2__04180);
            rule__EvolutionRule__Group_2__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group_2__1_in_rule__EvolutionRule__Group_2__04183);
            rule__EvolutionRule__Group_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group_2__0


    // $ANTLR start rule__EvolutionRule__Group_2__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2063:1: rule__EvolutionRule__Group_2__0__Impl : ( ':' ) ;
    public final void rule__EvolutionRule__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2067:1: ( ( ':' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2068:1: ( ':' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2068:1: ( ':' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2069:1: ':'
            {
             before(grammarAccess.getEvolutionRuleAccess().getColonKeyword_2_0()); 
            match(input,28,FollowSets000.FOLLOW_28_in_rule__EvolutionRule__Group_2__0__Impl4211); 
             after(grammarAccess.getEvolutionRuleAccess().getColonKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group_2__0__Impl


    // $ANTLR start rule__EvolutionRule__Group_2__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2082:1: rule__EvolutionRule__Group_2__1 : rule__EvolutionRule__Group_2__1__Impl ;
    public final void rule__EvolutionRule__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2086:1: ( rule__EvolutionRule__Group_2__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2087:2: rule__EvolutionRule__Group_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__Group_2__1__Impl_in_rule__EvolutionRule__Group_2__14242);
            rule__EvolutionRule__Group_2__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group_2__1


    // $ANTLR start rule__EvolutionRule__Group_2__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2093:1: rule__EvolutionRule__Group_2__1__Impl : ( ( rule__EvolutionRule__TextAssignment_2_1 ) ) ;
    public final void rule__EvolutionRule__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2097:1: ( ( ( rule__EvolutionRule__TextAssignment_2_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2098:1: ( ( rule__EvolutionRule__TextAssignment_2_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2098:1: ( ( rule__EvolutionRule__TextAssignment_2_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2099:1: ( rule__EvolutionRule__TextAssignment_2_1 )
            {
             before(grammarAccess.getEvolutionRuleAccess().getTextAssignment_2_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2100:1: ( rule__EvolutionRule__TextAssignment_2_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2100:2: rule__EvolutionRule__TextAssignment_2_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRule__TextAssignment_2_1_in_rule__EvolutionRule__Group_2__1__Impl4269);
            rule__EvolutionRule__TextAssignment_2_1();
            _fsp--;


            }

             after(grammarAccess.getEvolutionRuleAccess().getTextAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__Group_2__1__Impl


    // $ANTLR start rule__EvolutionBranch__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2114:1: rule__EvolutionBranch__Group__0 : rule__EvolutionBranch__Group__0__Impl rule__EvolutionBranch__Group__1 ;
    public final void rule__EvolutionBranch__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2118:1: ( rule__EvolutionBranch__Group__0__Impl rule__EvolutionBranch__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2119:2: rule__EvolutionBranch__Group__0__Impl rule__EvolutionBranch__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionBranch__Group__0__Impl_in_rule__EvolutionBranch__Group__04303);
            rule__EvolutionBranch__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionBranch__Group__1_in_rule__EvolutionBranch__Group__04306);
            rule__EvolutionBranch__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionBranch__Group__0


    // $ANTLR start rule__EvolutionBranch__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2126:1: rule__EvolutionBranch__Group__0__Impl : ( 'branch' ) ;
    public final void rule__EvolutionBranch__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2130:1: ( ( 'branch' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2131:1: ( 'branch' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2131:1: ( 'branch' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2132:1: 'branch'
            {
             before(grammarAccess.getEvolutionBranchAccess().getBranchKeyword_0()); 
            match(input,30,FollowSets000.FOLLOW_30_in_rule__EvolutionBranch__Group__0__Impl4334); 
             after(grammarAccess.getEvolutionBranchAccess().getBranchKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionBranch__Group__0__Impl


    // $ANTLR start rule__EvolutionBranch__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2145:1: rule__EvolutionBranch__Group__1 : rule__EvolutionBranch__Group__1__Impl rule__EvolutionBranch__Group__2 ;
    public final void rule__EvolutionBranch__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2149:1: ( rule__EvolutionBranch__Group__1__Impl rule__EvolutionBranch__Group__2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2150:2: rule__EvolutionBranch__Group__1__Impl rule__EvolutionBranch__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionBranch__Group__1__Impl_in_rule__EvolutionBranch__Group__14365);
            rule__EvolutionBranch__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionBranch__Group__2_in_rule__EvolutionBranch__Group__14368);
            rule__EvolutionBranch__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionBranch__Group__1


    // $ANTLR start rule__EvolutionBranch__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2157:1: rule__EvolutionBranch__Group__1__Impl : ( ( rule__EvolutionBranch__NameAssignment_1 ) ) ;
    public final void rule__EvolutionBranch__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2161:1: ( ( ( rule__EvolutionBranch__NameAssignment_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2162:1: ( ( rule__EvolutionBranch__NameAssignment_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2162:1: ( ( rule__EvolutionBranch__NameAssignment_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2163:1: ( rule__EvolutionBranch__NameAssignment_1 )
            {
             before(grammarAccess.getEvolutionBranchAccess().getNameAssignment_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2164:1: ( rule__EvolutionBranch__NameAssignment_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2164:2: rule__EvolutionBranch__NameAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionBranch__NameAssignment_1_in_rule__EvolutionBranch__Group__1__Impl4395);
            rule__EvolutionBranch__NameAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getEvolutionBranchAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionBranch__Group__1__Impl


    // $ANTLR start rule__EvolutionBranch__Group__2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2174:1: rule__EvolutionBranch__Group__2 : rule__EvolutionBranch__Group__2__Impl rule__EvolutionBranch__Group__3 ;
    public final void rule__EvolutionBranch__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2178:1: ( rule__EvolutionBranch__Group__2__Impl rule__EvolutionBranch__Group__3 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2179:2: rule__EvolutionBranch__Group__2__Impl rule__EvolutionBranch__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionBranch__Group__2__Impl_in_rule__EvolutionBranch__Group__24425);
            rule__EvolutionBranch__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionBranch__Group__3_in_rule__EvolutionBranch__Group__24428);
            rule__EvolutionBranch__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionBranch__Group__2


    // $ANTLR start rule__EvolutionBranch__Group__2__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2186:1: rule__EvolutionBranch__Group__2__Impl : ( 'probability' ) ;
    public final void rule__EvolutionBranch__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2190:1: ( ( 'probability' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2191:1: ( 'probability' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2191:1: ( 'probability' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2192:1: 'probability'
            {
             before(grammarAccess.getEvolutionBranchAccess().getProbabilityKeyword_2()); 
            match(input,31,FollowSets000.FOLLOW_31_in_rule__EvolutionBranch__Group__2__Impl4456); 
             after(grammarAccess.getEvolutionBranchAccess().getProbabilityKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionBranch__Group__2__Impl


    // $ANTLR start rule__EvolutionBranch__Group__3
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2205:1: rule__EvolutionBranch__Group__3 : rule__EvolutionBranch__Group__3__Impl rule__EvolutionBranch__Group__4 ;
    public final void rule__EvolutionBranch__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2209:1: ( rule__EvolutionBranch__Group__3__Impl rule__EvolutionBranch__Group__4 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2210:2: rule__EvolutionBranch__Group__3__Impl rule__EvolutionBranch__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionBranch__Group__3__Impl_in_rule__EvolutionBranch__Group__34487);
            rule__EvolutionBranch__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionBranch__Group__4_in_rule__EvolutionBranch__Group__34490);
            rule__EvolutionBranch__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionBranch__Group__3


    // $ANTLR start rule__EvolutionBranch__Group__3__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2217:1: rule__EvolutionBranch__Group__3__Impl : ( ( rule__EvolutionBranch__ProbabilityAssignment_3 ) ) ;
    public final void rule__EvolutionBranch__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2221:1: ( ( ( rule__EvolutionBranch__ProbabilityAssignment_3 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2222:1: ( ( rule__EvolutionBranch__ProbabilityAssignment_3 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2222:1: ( ( rule__EvolutionBranch__ProbabilityAssignment_3 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2223:1: ( rule__EvolutionBranch__ProbabilityAssignment_3 )
            {
             before(grammarAccess.getEvolutionBranchAccess().getProbabilityAssignment_3()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2224:1: ( rule__EvolutionBranch__ProbabilityAssignment_3 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2224:2: rule__EvolutionBranch__ProbabilityAssignment_3
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionBranch__ProbabilityAssignment_3_in_rule__EvolutionBranch__Group__3__Impl4517);
            rule__EvolutionBranch__ProbabilityAssignment_3();
            _fsp--;


            }

             after(grammarAccess.getEvolutionBranchAccess().getProbabilityAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionBranch__Group__3__Impl


    // $ANTLR start rule__EvolutionBranch__Group__4
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2234:1: rule__EvolutionBranch__Group__4 : rule__EvolutionBranch__Group__4__Impl rule__EvolutionBranch__Group__5 ;
    public final void rule__EvolutionBranch__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2238:1: ( rule__EvolutionBranch__Group__4__Impl rule__EvolutionBranch__Group__5 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2239:2: rule__EvolutionBranch__Group__4__Impl rule__EvolutionBranch__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionBranch__Group__4__Impl_in_rule__EvolutionBranch__Group__44547);
            rule__EvolutionBranch__Group__4__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionBranch__Group__5_in_rule__EvolutionBranch__Group__44550);
            rule__EvolutionBranch__Group__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionBranch__Group__4


    // $ANTLR start rule__EvolutionBranch__Group__4__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2246:1: rule__EvolutionBranch__Group__4__Impl : ( '{' ) ;
    public final void rule__EvolutionBranch__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2250:1: ( ( '{' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2251:1: ( '{' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2251:1: ( '{' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2252:1: '{'
            {
             before(grammarAccess.getEvolutionBranchAccess().getLeftCurlyBracketKeyword_4()); 
            match(input,26,FollowSets000.FOLLOW_26_in_rule__EvolutionBranch__Group__4__Impl4578); 
             after(grammarAccess.getEvolutionBranchAccess().getLeftCurlyBracketKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionBranch__Group__4__Impl


    // $ANTLR start rule__EvolutionBranch__Group__5
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2265:1: rule__EvolutionBranch__Group__5 : rule__EvolutionBranch__Group__5__Impl rule__EvolutionBranch__Group__6 ;
    public final void rule__EvolutionBranch__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2269:1: ( rule__EvolutionBranch__Group__5__Impl rule__EvolutionBranch__Group__6 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2270:2: rule__EvolutionBranch__Group__5__Impl rule__EvolutionBranch__Group__6
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionBranch__Group__5__Impl_in_rule__EvolutionBranch__Group__54609);
            rule__EvolutionBranch__Group__5__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionBranch__Group__6_in_rule__EvolutionBranch__Group__54612);
            rule__EvolutionBranch__Group__6();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionBranch__Group__5


    // $ANTLR start rule__EvolutionBranch__Group__5__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2277:1: rule__EvolutionBranch__Group__5__Impl : ( ( rule__EvolutionBranch__ChildrenAssignment_5 )* ) ;
    public final void rule__EvolutionBranch__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2281:1: ( ( ( rule__EvolutionBranch__ChildrenAssignment_5 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2282:1: ( ( rule__EvolutionBranch__ChildrenAssignment_5 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2282:1: ( ( rule__EvolutionBranch__ChildrenAssignment_5 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2283:1: ( rule__EvolutionBranch__ChildrenAssignment_5 )*
            {
             before(grammarAccess.getEvolutionBranchAccess().getChildrenAssignment_5()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2284:1: ( rule__EvolutionBranch__ChildrenAssignment_5 )*
            loop21:
            do {
                int alt21=2;
                int LA21_0 = input.LA(1);

                if ( ((LA21_0>=14 && LA21_0<=17)) ) {
                    alt21=1;
                }


                switch (alt21) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2284:2: rule__EvolutionBranch__ChildrenAssignment_5
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__EvolutionBranch__ChildrenAssignment_5_in_rule__EvolutionBranch__Group__5__Impl4639);
            	    rule__EvolutionBranch__ChildrenAssignment_5();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop21;
                }
            } while (true);

             after(grammarAccess.getEvolutionBranchAccess().getChildrenAssignment_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionBranch__Group__5__Impl


    // $ANTLR start rule__EvolutionBranch__Group__6
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2294:1: rule__EvolutionBranch__Group__6 : rule__EvolutionBranch__Group__6__Impl ;
    public final void rule__EvolutionBranch__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2298:1: ( rule__EvolutionBranch__Group__6__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2299:2: rule__EvolutionBranch__Group__6__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionBranch__Group__6__Impl_in_rule__EvolutionBranch__Group__64670);
            rule__EvolutionBranch__Group__6__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionBranch__Group__6


    // $ANTLR start rule__EvolutionBranch__Group__6__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2305:1: rule__EvolutionBranch__Group__6__Impl : ( '}' ) ;
    public final void rule__EvolutionBranch__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2309:1: ( ( '}' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2310:1: ( '}' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2310:1: ( '}' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2311:1: '}'
            {
             before(grammarAccess.getEvolutionBranchAccess().getRightCurlyBracketKeyword_6()); 
            match(input,27,FollowSets000.FOLLOW_27_in_rule__EvolutionBranch__Group__6__Impl4698); 
             after(grammarAccess.getEvolutionBranchAccess().getRightCurlyBracketKeyword_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionBranch__Group__6__Impl


    // $ANTLR start rule__EvolutionOperation__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2338:1: rule__EvolutionOperation__Group__0 : rule__EvolutionOperation__Group__0__Impl rule__EvolutionOperation__Group__1 ;
    public final void rule__EvolutionOperation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2342:1: ( rule__EvolutionOperation__Group__0__Impl rule__EvolutionOperation__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2343:2: rule__EvolutionOperation__Group__0__Impl rule__EvolutionOperation__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionOperation__Group__0__Impl_in_rule__EvolutionOperation__Group__04743);
            rule__EvolutionOperation__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionOperation__Group__1_in_rule__EvolutionOperation__Group__04746);
            rule__EvolutionOperation__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionOperation__Group__0


    // $ANTLR start rule__EvolutionOperation__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2350:1: rule__EvolutionOperation__Group__0__Impl : ( ( rule__EvolutionOperation__Alternatives_0 ) ) ;
    public final void rule__EvolutionOperation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2354:1: ( ( ( rule__EvolutionOperation__Alternatives_0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2355:1: ( ( rule__EvolutionOperation__Alternatives_0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2355:1: ( ( rule__EvolutionOperation__Alternatives_0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2356:1: ( rule__EvolutionOperation__Alternatives_0 )
            {
             before(grammarAccess.getEvolutionOperationAccess().getAlternatives_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2357:1: ( rule__EvolutionOperation__Alternatives_0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2357:2: rule__EvolutionOperation__Alternatives_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionOperation__Alternatives_0_in_rule__EvolutionOperation__Group__0__Impl4773);
            rule__EvolutionOperation__Alternatives_0();
            _fsp--;


            }

             after(grammarAccess.getEvolutionOperationAccess().getAlternatives_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionOperation__Group__0__Impl


    // $ANTLR start rule__EvolutionOperation__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2367:1: rule__EvolutionOperation__Group__1 : rule__EvolutionOperation__Group__1__Impl ;
    public final void rule__EvolutionOperation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2371:1: ( rule__EvolutionOperation__Group__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2372:2: rule__EvolutionOperation__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionOperation__Group__1__Impl_in_rule__EvolutionOperation__Group__14803);
            rule__EvolutionOperation__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionOperation__Group__1


    // $ANTLR start rule__EvolutionOperation__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2378:1: rule__EvolutionOperation__Group__1__Impl : ( ';' ) ;
    public final void rule__EvolutionOperation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2382:1: ( ( ';' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2383:1: ( ';' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2383:1: ( ';' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2384:1: ';'
            {
             before(grammarAccess.getEvolutionOperationAccess().getSemicolonKeyword_1()); 
            match(input,20,FollowSets000.FOLLOW_20_in_rule__EvolutionOperation__Group__1__Impl4831); 
             after(grammarAccess.getEvolutionOperationAccess().getSemicolonKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionOperation__Group__1__Impl


    // $ANTLR start rule__EvolutionAddOperation__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2401:1: rule__EvolutionAddOperation__Group__0 : rule__EvolutionAddOperation__Group__0__Impl rule__EvolutionAddOperation__Group__1 ;
    public final void rule__EvolutionAddOperation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2405:1: ( rule__EvolutionAddOperation__Group__0__Impl rule__EvolutionAddOperation__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2406:2: rule__EvolutionAddOperation__Group__0__Impl rule__EvolutionAddOperation__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group__0__Impl_in_rule__EvolutionAddOperation__Group__04866);
            rule__EvolutionAddOperation__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group__1_in_rule__EvolutionAddOperation__Group__04869);
            rule__EvolutionAddOperation__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group__0


    // $ANTLR start rule__EvolutionAddOperation__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2413:1: rule__EvolutionAddOperation__Group__0__Impl : ( ( rule__EvolutionAddOperation__Alternatives_0 ) ) ;
    public final void rule__EvolutionAddOperation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2417:1: ( ( ( rule__EvolutionAddOperation__Alternatives_0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2418:1: ( ( rule__EvolutionAddOperation__Alternatives_0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2418:1: ( ( rule__EvolutionAddOperation__Alternatives_0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2419:1: ( rule__EvolutionAddOperation__Alternatives_0 )
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getAlternatives_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2420:1: ( rule__EvolutionAddOperation__Alternatives_0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2420:2: rule__EvolutionAddOperation__Alternatives_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Alternatives_0_in_rule__EvolutionAddOperation__Group__0__Impl4896);
            rule__EvolutionAddOperation__Alternatives_0();
            _fsp--;


            }

             after(grammarAccess.getEvolutionAddOperationAccess().getAlternatives_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group__0__Impl


    // $ANTLR start rule__EvolutionAddOperation__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2430:1: rule__EvolutionAddOperation__Group__1 : rule__EvolutionAddOperation__Group__1__Impl ;
    public final void rule__EvolutionAddOperation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2434:1: ( rule__EvolutionAddOperation__Group__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2435:2: rule__EvolutionAddOperation__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group__1__Impl_in_rule__EvolutionAddOperation__Group__14926);
            rule__EvolutionAddOperation__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group__1


    // $ANTLR start rule__EvolutionAddOperation__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2441:1: rule__EvolutionAddOperation__Group__1__Impl : ( ( rule__EvolutionAddOperation__Alternatives_1 ) ) ;
    public final void rule__EvolutionAddOperation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2445:1: ( ( ( rule__EvolutionAddOperation__Alternatives_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2446:1: ( ( rule__EvolutionAddOperation__Alternatives_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2446:1: ( ( rule__EvolutionAddOperation__Alternatives_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2447:1: ( rule__EvolutionAddOperation__Alternatives_1 )
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getAlternatives_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2448:1: ( rule__EvolutionAddOperation__Alternatives_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2448:2: rule__EvolutionAddOperation__Alternatives_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Alternatives_1_in_rule__EvolutionAddOperation__Group__1__Impl4953);
            rule__EvolutionAddOperation__Alternatives_1();
            _fsp--;


            }

             after(grammarAccess.getEvolutionAddOperationAccess().getAlternatives_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group__1__Impl


    // $ANTLR start rule__EvolutionAddOperation__Group_1_0__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2462:1: rule__EvolutionAddOperation__Group_1_0__0 : rule__EvolutionAddOperation__Group_1_0__0__Impl rule__EvolutionAddOperation__Group_1_0__1 ;
    public final void rule__EvolutionAddOperation__Group_1_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2466:1: ( rule__EvolutionAddOperation__Group_1_0__0__Impl rule__EvolutionAddOperation__Group_1_0__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2467:2: rule__EvolutionAddOperation__Group_1_0__0__Impl rule__EvolutionAddOperation__Group_1_0__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_0__0__Impl_in_rule__EvolutionAddOperation__Group_1_0__04987);
            rule__EvolutionAddOperation__Group_1_0__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_0__1_in_rule__EvolutionAddOperation__Group_1_0__04990);
            rule__EvolutionAddOperation__Group_1_0__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_0__0


    // $ANTLR start rule__EvolutionAddOperation__Group_1_0__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2474:1: rule__EvolutionAddOperation__Group_1_0__0__Impl : ( 'actor' ) ;
    public final void rule__EvolutionAddOperation__Group_1_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2478:1: ( ( 'actor' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2479:1: ( 'actor' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2479:1: ( 'actor' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2480:1: 'actor'
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getActorKeyword_1_0_0()); 
            match(input,32,FollowSets000.FOLLOW_32_in_rule__EvolutionAddOperation__Group_1_0__0__Impl5018); 
             after(grammarAccess.getEvolutionAddOperationAccess().getActorKeyword_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_0__0__Impl


    // $ANTLR start rule__EvolutionAddOperation__Group_1_0__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2493:1: rule__EvolutionAddOperation__Group_1_0__1 : rule__EvolutionAddOperation__Group_1_0__1__Impl rule__EvolutionAddOperation__Group_1_0__2 ;
    public final void rule__EvolutionAddOperation__Group_1_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2497:1: ( rule__EvolutionAddOperation__Group_1_0__1__Impl rule__EvolutionAddOperation__Group_1_0__2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2498:2: rule__EvolutionAddOperation__Group_1_0__1__Impl rule__EvolutionAddOperation__Group_1_0__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_0__1__Impl_in_rule__EvolutionAddOperation__Group_1_0__15049);
            rule__EvolutionAddOperation__Group_1_0__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_0__2_in_rule__EvolutionAddOperation__Group_1_0__15052);
            rule__EvolutionAddOperation__Group_1_0__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_0__1


    // $ANTLR start rule__EvolutionAddOperation__Group_1_0__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2505:1: rule__EvolutionAddOperation__Group_1_0__1__Impl : ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_0_1 ) ) ;
    public final void rule__EvolutionAddOperation__Group_1_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2509:1: ( ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_0_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2510:1: ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_0_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2510:1: ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_0_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2511:1: ( rule__EvolutionAddOperation__ChildrenAssignment_1_0_1 )
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getChildrenAssignment_1_0_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2512:1: ( rule__EvolutionAddOperation__ChildrenAssignment_1_0_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2512:2: rule__EvolutionAddOperation__ChildrenAssignment_1_0_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__ChildrenAssignment_1_0_1_in_rule__EvolutionAddOperation__Group_1_0__1__Impl5079);
            rule__EvolutionAddOperation__ChildrenAssignment_1_0_1();
            _fsp--;


            }

             after(grammarAccess.getEvolutionAddOperationAccess().getChildrenAssignment_1_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_0__1__Impl


    // $ANTLR start rule__EvolutionAddOperation__Group_1_0__2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2522:1: rule__EvolutionAddOperation__Group_1_0__2 : rule__EvolutionAddOperation__Group_1_0__2__Impl ;
    public final void rule__EvolutionAddOperation__Group_1_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2526:1: ( rule__EvolutionAddOperation__Group_1_0__2__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2527:2: rule__EvolutionAddOperation__Group_1_0__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_0__2__Impl_in_rule__EvolutionAddOperation__Group_1_0__25109);
            rule__EvolutionAddOperation__Group_1_0__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_0__2


    // $ANTLR start rule__EvolutionAddOperation__Group_1_0__2__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2533:1: rule__EvolutionAddOperation__Group_1_0__2__Impl : ( ( rule__EvolutionAddOperation__Group_1_0_2__0 )* ) ;
    public final void rule__EvolutionAddOperation__Group_1_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2537:1: ( ( ( rule__EvolutionAddOperation__Group_1_0_2__0 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2538:1: ( ( rule__EvolutionAddOperation__Group_1_0_2__0 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2538:1: ( ( rule__EvolutionAddOperation__Group_1_0_2__0 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2539:1: ( rule__EvolutionAddOperation__Group_1_0_2__0 )*
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getGroup_1_0_2()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2540:1: ( rule__EvolutionAddOperation__Group_1_0_2__0 )*
            loop22:
            do {
                int alt22=2;
                int LA22_0 = input.LA(1);

                if ( (LA22_0==33) ) {
                    alt22=1;
                }


                switch (alt22) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2540:2: rule__EvolutionAddOperation__Group_1_0_2__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_0_2__0_in_rule__EvolutionAddOperation__Group_1_0__2__Impl5136);
            	    rule__EvolutionAddOperation__Group_1_0_2__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop22;
                }
            } while (true);

             after(grammarAccess.getEvolutionAddOperationAccess().getGroup_1_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_0__2__Impl


    // $ANTLR start rule__EvolutionAddOperation__Group_1_0_2__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2556:1: rule__EvolutionAddOperation__Group_1_0_2__0 : rule__EvolutionAddOperation__Group_1_0_2__0__Impl rule__EvolutionAddOperation__Group_1_0_2__1 ;
    public final void rule__EvolutionAddOperation__Group_1_0_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2560:1: ( rule__EvolutionAddOperation__Group_1_0_2__0__Impl rule__EvolutionAddOperation__Group_1_0_2__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2561:2: rule__EvolutionAddOperation__Group_1_0_2__0__Impl rule__EvolutionAddOperation__Group_1_0_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_0_2__0__Impl_in_rule__EvolutionAddOperation__Group_1_0_2__05173);
            rule__EvolutionAddOperation__Group_1_0_2__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_0_2__1_in_rule__EvolutionAddOperation__Group_1_0_2__05176);
            rule__EvolutionAddOperation__Group_1_0_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_0_2__0


    // $ANTLR start rule__EvolutionAddOperation__Group_1_0_2__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2568:1: rule__EvolutionAddOperation__Group_1_0_2__0__Impl : ( ',' ) ;
    public final void rule__EvolutionAddOperation__Group_1_0_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2572:1: ( ( ',' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2573:1: ( ',' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2573:1: ( ',' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2574:1: ','
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getCommaKeyword_1_0_2_0()); 
            match(input,33,FollowSets000.FOLLOW_33_in_rule__EvolutionAddOperation__Group_1_0_2__0__Impl5204); 
             after(grammarAccess.getEvolutionAddOperationAccess().getCommaKeyword_1_0_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_0_2__0__Impl


    // $ANTLR start rule__EvolutionAddOperation__Group_1_0_2__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2587:1: rule__EvolutionAddOperation__Group_1_0_2__1 : rule__EvolutionAddOperation__Group_1_0_2__1__Impl ;
    public final void rule__EvolutionAddOperation__Group_1_0_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2591:1: ( rule__EvolutionAddOperation__Group_1_0_2__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2592:2: rule__EvolutionAddOperation__Group_1_0_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_0_2__1__Impl_in_rule__EvolutionAddOperation__Group_1_0_2__15235);
            rule__EvolutionAddOperation__Group_1_0_2__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_0_2__1


    // $ANTLR start rule__EvolutionAddOperation__Group_1_0_2__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2598:1: rule__EvolutionAddOperation__Group_1_0_2__1__Impl : ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_0_2_1 ) ) ;
    public final void rule__EvolutionAddOperation__Group_1_0_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2602:1: ( ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_0_2_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2603:1: ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_0_2_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2603:1: ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_0_2_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2604:1: ( rule__EvolutionAddOperation__ChildrenAssignment_1_0_2_1 )
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getChildrenAssignment_1_0_2_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2605:1: ( rule__EvolutionAddOperation__ChildrenAssignment_1_0_2_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2605:2: rule__EvolutionAddOperation__ChildrenAssignment_1_0_2_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__ChildrenAssignment_1_0_2_1_in_rule__EvolutionAddOperation__Group_1_0_2__1__Impl5262);
            rule__EvolutionAddOperation__ChildrenAssignment_1_0_2_1();
            _fsp--;


            }

             after(grammarAccess.getEvolutionAddOperationAccess().getChildrenAssignment_1_0_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_0_2__1__Impl


    // $ANTLR start rule__EvolutionAddOperation__Group_1_1__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2619:1: rule__EvolutionAddOperation__Group_1_1__0 : rule__EvolutionAddOperation__Group_1_1__0__Impl rule__EvolutionAddOperation__Group_1_1__1 ;
    public final void rule__EvolutionAddOperation__Group_1_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2623:1: ( rule__EvolutionAddOperation__Group_1_1__0__Impl rule__EvolutionAddOperation__Group_1_1__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2624:2: rule__EvolutionAddOperation__Group_1_1__0__Impl rule__EvolutionAddOperation__Group_1_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_1__0__Impl_in_rule__EvolutionAddOperation__Group_1_1__05296);
            rule__EvolutionAddOperation__Group_1_1__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_1__1_in_rule__EvolutionAddOperation__Group_1_1__05299);
            rule__EvolutionAddOperation__Group_1_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_1__0


    // $ANTLR start rule__EvolutionAddOperation__Group_1_1__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2631:1: rule__EvolutionAddOperation__Group_1_1__0__Impl : ( 'goal' ) ;
    public final void rule__EvolutionAddOperation__Group_1_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2635:1: ( ( 'goal' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2636:1: ( 'goal' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2636:1: ( 'goal' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2637:1: 'goal'
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getGoalKeyword_1_1_0()); 
            match(input,34,FollowSets000.FOLLOW_34_in_rule__EvolutionAddOperation__Group_1_1__0__Impl5327); 
             after(grammarAccess.getEvolutionAddOperationAccess().getGoalKeyword_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_1__0__Impl


    // $ANTLR start rule__EvolutionAddOperation__Group_1_1__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2650:1: rule__EvolutionAddOperation__Group_1_1__1 : rule__EvolutionAddOperation__Group_1_1__1__Impl rule__EvolutionAddOperation__Group_1_1__2 ;
    public final void rule__EvolutionAddOperation__Group_1_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2654:1: ( rule__EvolutionAddOperation__Group_1_1__1__Impl rule__EvolutionAddOperation__Group_1_1__2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2655:2: rule__EvolutionAddOperation__Group_1_1__1__Impl rule__EvolutionAddOperation__Group_1_1__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_1__1__Impl_in_rule__EvolutionAddOperation__Group_1_1__15358);
            rule__EvolutionAddOperation__Group_1_1__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_1__2_in_rule__EvolutionAddOperation__Group_1_1__15361);
            rule__EvolutionAddOperation__Group_1_1__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_1__1


    // $ANTLR start rule__EvolutionAddOperation__Group_1_1__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2662:1: rule__EvolutionAddOperation__Group_1_1__1__Impl : ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_1_1 ) ) ;
    public final void rule__EvolutionAddOperation__Group_1_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2666:1: ( ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_1_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2667:1: ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_1_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2667:1: ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_1_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2668:1: ( rule__EvolutionAddOperation__ChildrenAssignment_1_1_1 )
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getChildrenAssignment_1_1_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2669:1: ( rule__EvolutionAddOperation__ChildrenAssignment_1_1_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2669:2: rule__EvolutionAddOperation__ChildrenAssignment_1_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__ChildrenAssignment_1_1_1_in_rule__EvolutionAddOperation__Group_1_1__1__Impl5388);
            rule__EvolutionAddOperation__ChildrenAssignment_1_1_1();
            _fsp--;


            }

             after(grammarAccess.getEvolutionAddOperationAccess().getChildrenAssignment_1_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_1__1__Impl


    // $ANTLR start rule__EvolutionAddOperation__Group_1_1__2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2679:1: rule__EvolutionAddOperation__Group_1_1__2 : rule__EvolutionAddOperation__Group_1_1__2__Impl ;
    public final void rule__EvolutionAddOperation__Group_1_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2683:1: ( rule__EvolutionAddOperation__Group_1_1__2__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2684:2: rule__EvolutionAddOperation__Group_1_1__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_1__2__Impl_in_rule__EvolutionAddOperation__Group_1_1__25418);
            rule__EvolutionAddOperation__Group_1_1__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_1__2


    // $ANTLR start rule__EvolutionAddOperation__Group_1_1__2__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2690:1: rule__EvolutionAddOperation__Group_1_1__2__Impl : ( ( rule__EvolutionAddOperation__Group_1_1_2__0 )* ) ;
    public final void rule__EvolutionAddOperation__Group_1_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2694:1: ( ( ( rule__EvolutionAddOperation__Group_1_1_2__0 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2695:1: ( ( rule__EvolutionAddOperation__Group_1_1_2__0 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2695:1: ( ( rule__EvolutionAddOperation__Group_1_1_2__0 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2696:1: ( rule__EvolutionAddOperation__Group_1_1_2__0 )*
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getGroup_1_1_2()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2697:1: ( rule__EvolutionAddOperation__Group_1_1_2__0 )*
            loop23:
            do {
                int alt23=2;
                int LA23_0 = input.LA(1);

                if ( (LA23_0==33) ) {
                    alt23=1;
                }


                switch (alt23) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2697:2: rule__EvolutionAddOperation__Group_1_1_2__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_1_2__0_in_rule__EvolutionAddOperation__Group_1_1__2__Impl5445);
            	    rule__EvolutionAddOperation__Group_1_1_2__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop23;
                }
            } while (true);

             after(grammarAccess.getEvolutionAddOperationAccess().getGroup_1_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_1__2__Impl


    // $ANTLR start rule__EvolutionAddOperation__Group_1_1_2__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2713:1: rule__EvolutionAddOperation__Group_1_1_2__0 : rule__EvolutionAddOperation__Group_1_1_2__0__Impl rule__EvolutionAddOperation__Group_1_1_2__1 ;
    public final void rule__EvolutionAddOperation__Group_1_1_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2717:1: ( rule__EvolutionAddOperation__Group_1_1_2__0__Impl rule__EvolutionAddOperation__Group_1_1_2__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2718:2: rule__EvolutionAddOperation__Group_1_1_2__0__Impl rule__EvolutionAddOperation__Group_1_1_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_1_2__0__Impl_in_rule__EvolutionAddOperation__Group_1_1_2__05482);
            rule__EvolutionAddOperation__Group_1_1_2__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_1_2__1_in_rule__EvolutionAddOperation__Group_1_1_2__05485);
            rule__EvolutionAddOperation__Group_1_1_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_1_2__0


    // $ANTLR start rule__EvolutionAddOperation__Group_1_1_2__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2725:1: rule__EvolutionAddOperation__Group_1_1_2__0__Impl : ( ',' ) ;
    public final void rule__EvolutionAddOperation__Group_1_1_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2729:1: ( ( ',' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2730:1: ( ',' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2730:1: ( ',' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2731:1: ','
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getCommaKeyword_1_1_2_0()); 
            match(input,33,FollowSets000.FOLLOW_33_in_rule__EvolutionAddOperation__Group_1_1_2__0__Impl5513); 
             after(grammarAccess.getEvolutionAddOperationAccess().getCommaKeyword_1_1_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_1_2__0__Impl


    // $ANTLR start rule__EvolutionAddOperation__Group_1_1_2__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2744:1: rule__EvolutionAddOperation__Group_1_1_2__1 : rule__EvolutionAddOperation__Group_1_1_2__1__Impl ;
    public final void rule__EvolutionAddOperation__Group_1_1_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2748:1: ( rule__EvolutionAddOperation__Group_1_1_2__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2749:2: rule__EvolutionAddOperation__Group_1_1_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_1_2__1__Impl_in_rule__EvolutionAddOperation__Group_1_1_2__15544);
            rule__EvolutionAddOperation__Group_1_1_2__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_1_2__1


    // $ANTLR start rule__EvolutionAddOperation__Group_1_1_2__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2755:1: rule__EvolutionAddOperation__Group_1_1_2__1__Impl : ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_1_2_1 ) ) ;
    public final void rule__EvolutionAddOperation__Group_1_1_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2759:1: ( ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_1_2_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2760:1: ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_1_2_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2760:1: ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_1_2_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2761:1: ( rule__EvolutionAddOperation__ChildrenAssignment_1_1_2_1 )
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getChildrenAssignment_1_1_2_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2762:1: ( rule__EvolutionAddOperation__ChildrenAssignment_1_1_2_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2762:2: rule__EvolutionAddOperation__ChildrenAssignment_1_1_2_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__ChildrenAssignment_1_1_2_1_in_rule__EvolutionAddOperation__Group_1_1_2__1__Impl5571);
            rule__EvolutionAddOperation__ChildrenAssignment_1_1_2_1();
            _fsp--;


            }

             after(grammarAccess.getEvolutionAddOperationAccess().getChildrenAssignment_1_1_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_1_2__1__Impl


    // $ANTLR start rule__EvolutionAddOperation__Group_1_2__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2776:1: rule__EvolutionAddOperation__Group_1_2__0 : rule__EvolutionAddOperation__Group_1_2__0__Impl rule__EvolutionAddOperation__Group_1_2__1 ;
    public final void rule__EvolutionAddOperation__Group_1_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2780:1: ( rule__EvolutionAddOperation__Group_1_2__0__Impl rule__EvolutionAddOperation__Group_1_2__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2781:2: rule__EvolutionAddOperation__Group_1_2__0__Impl rule__EvolutionAddOperation__Group_1_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_2__0__Impl_in_rule__EvolutionAddOperation__Group_1_2__05605);
            rule__EvolutionAddOperation__Group_1_2__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_2__1_in_rule__EvolutionAddOperation__Group_1_2__05608);
            rule__EvolutionAddOperation__Group_1_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_2__0


    // $ANTLR start rule__EvolutionAddOperation__Group_1_2__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2788:1: rule__EvolutionAddOperation__Group_1_2__0__Impl : ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_2_0 ) ) ;
    public final void rule__EvolutionAddOperation__Group_1_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2792:1: ( ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_2_0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2793:1: ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_2_0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2793:1: ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_2_0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2794:1: ( rule__EvolutionAddOperation__ChildrenAssignment_1_2_0 )
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getChildrenAssignment_1_2_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2795:1: ( rule__EvolutionAddOperation__ChildrenAssignment_1_2_0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2795:2: rule__EvolutionAddOperation__ChildrenAssignment_1_2_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__ChildrenAssignment_1_2_0_in_rule__EvolutionAddOperation__Group_1_2__0__Impl5635);
            rule__EvolutionAddOperation__ChildrenAssignment_1_2_0();
            _fsp--;


            }

             after(grammarAccess.getEvolutionAddOperationAccess().getChildrenAssignment_1_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_2__0__Impl


    // $ANTLR start rule__EvolutionAddOperation__Group_1_2__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2805:1: rule__EvolutionAddOperation__Group_1_2__1 : rule__EvolutionAddOperation__Group_1_2__1__Impl ;
    public final void rule__EvolutionAddOperation__Group_1_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2809:1: ( rule__EvolutionAddOperation__Group_1_2__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2810:2: rule__EvolutionAddOperation__Group_1_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_2__1__Impl_in_rule__EvolutionAddOperation__Group_1_2__15665);
            rule__EvolutionAddOperation__Group_1_2__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_2__1


    // $ANTLR start rule__EvolutionAddOperation__Group_1_2__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2816:1: rule__EvolutionAddOperation__Group_1_2__1__Impl : ( ( rule__EvolutionAddOperation__Group_1_2_1__0 )* ) ;
    public final void rule__EvolutionAddOperation__Group_1_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2820:1: ( ( ( rule__EvolutionAddOperation__Group_1_2_1__0 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2821:1: ( ( rule__EvolutionAddOperation__Group_1_2_1__0 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2821:1: ( ( rule__EvolutionAddOperation__Group_1_2_1__0 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2822:1: ( rule__EvolutionAddOperation__Group_1_2_1__0 )*
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getGroup_1_2_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2823:1: ( rule__EvolutionAddOperation__Group_1_2_1__0 )*
            loop24:
            do {
                int alt24=2;
                int LA24_0 = input.LA(1);

                if ( (LA24_0==33) ) {
                    alt24=1;
                }


                switch (alt24) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2823:2: rule__EvolutionAddOperation__Group_1_2_1__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_2_1__0_in_rule__EvolutionAddOperation__Group_1_2__1__Impl5692);
            	    rule__EvolutionAddOperation__Group_1_2_1__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop24;
                }
            } while (true);

             after(grammarAccess.getEvolutionAddOperationAccess().getGroup_1_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_2__1__Impl


    // $ANTLR start rule__EvolutionAddOperation__Group_1_2_1__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2837:1: rule__EvolutionAddOperation__Group_1_2_1__0 : rule__EvolutionAddOperation__Group_1_2_1__0__Impl rule__EvolutionAddOperation__Group_1_2_1__1 ;
    public final void rule__EvolutionAddOperation__Group_1_2_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2841:1: ( rule__EvolutionAddOperation__Group_1_2_1__0__Impl rule__EvolutionAddOperation__Group_1_2_1__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2842:2: rule__EvolutionAddOperation__Group_1_2_1__0__Impl rule__EvolutionAddOperation__Group_1_2_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_2_1__0__Impl_in_rule__EvolutionAddOperation__Group_1_2_1__05727);
            rule__EvolutionAddOperation__Group_1_2_1__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_2_1__1_in_rule__EvolutionAddOperation__Group_1_2_1__05730);
            rule__EvolutionAddOperation__Group_1_2_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_2_1__0


    // $ANTLR start rule__EvolutionAddOperation__Group_1_2_1__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2849:1: rule__EvolutionAddOperation__Group_1_2_1__0__Impl : ( ',' ) ;
    public final void rule__EvolutionAddOperation__Group_1_2_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2853:1: ( ( ',' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2854:1: ( ',' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2854:1: ( ',' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2855:1: ','
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getCommaKeyword_1_2_1_0()); 
            match(input,33,FollowSets000.FOLLOW_33_in_rule__EvolutionAddOperation__Group_1_2_1__0__Impl5758); 
             after(grammarAccess.getEvolutionAddOperationAccess().getCommaKeyword_1_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_2_1__0__Impl


    // $ANTLR start rule__EvolutionAddOperation__Group_1_2_1__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2868:1: rule__EvolutionAddOperation__Group_1_2_1__1 : rule__EvolutionAddOperation__Group_1_2_1__1__Impl ;
    public final void rule__EvolutionAddOperation__Group_1_2_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2872:1: ( rule__EvolutionAddOperation__Group_1_2_1__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2873:2: rule__EvolutionAddOperation__Group_1_2_1__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__Group_1_2_1__1__Impl_in_rule__EvolutionAddOperation__Group_1_2_1__15789);
            rule__EvolutionAddOperation__Group_1_2_1__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_2_1__1


    // $ANTLR start rule__EvolutionAddOperation__Group_1_2_1__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2879:1: rule__EvolutionAddOperation__Group_1_2_1__1__Impl : ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_2_1_1 ) ) ;
    public final void rule__EvolutionAddOperation__Group_1_2_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2883:1: ( ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_2_1_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2884:1: ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_2_1_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2884:1: ( ( rule__EvolutionAddOperation__ChildrenAssignment_1_2_1_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2885:1: ( rule__EvolutionAddOperation__ChildrenAssignment_1_2_1_1 )
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getChildrenAssignment_1_2_1_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2886:1: ( rule__EvolutionAddOperation__ChildrenAssignment_1_2_1_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2886:2: rule__EvolutionAddOperation__ChildrenAssignment_1_2_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionAddOperation__ChildrenAssignment_1_2_1_1_in_rule__EvolutionAddOperation__Group_1_2_1__1__Impl5816);
            rule__EvolutionAddOperation__ChildrenAssignment_1_2_1_1();
            _fsp--;


            }

             after(grammarAccess.getEvolutionAddOperationAccess().getChildrenAssignment_1_2_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__Group_1_2_1__1__Impl


    // $ANTLR start rule__EvolutionRemoveOperation__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2900:1: rule__EvolutionRemoveOperation__Group__0 : rule__EvolutionRemoveOperation__Group__0__Impl rule__EvolutionRemoveOperation__Group__1 ;
    public final void rule__EvolutionRemoveOperation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2904:1: ( rule__EvolutionRemoveOperation__Group__0__Impl rule__EvolutionRemoveOperation__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2905:2: rule__EvolutionRemoveOperation__Group__0__Impl rule__EvolutionRemoveOperation__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRemoveOperation__Group__0__Impl_in_rule__EvolutionRemoveOperation__Group__05850);
            rule__EvolutionRemoveOperation__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRemoveOperation__Group__1_in_rule__EvolutionRemoveOperation__Group__05853);
            rule__EvolutionRemoveOperation__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRemoveOperation__Group__0


    // $ANTLR start rule__EvolutionRemoveOperation__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2912:1: rule__EvolutionRemoveOperation__Group__0__Impl : ( ( rule__EvolutionRemoveOperation__Alternatives_0 ) ) ;
    public final void rule__EvolutionRemoveOperation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2916:1: ( ( ( rule__EvolutionRemoveOperation__Alternatives_0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2917:1: ( ( rule__EvolutionRemoveOperation__Alternatives_0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2917:1: ( ( rule__EvolutionRemoveOperation__Alternatives_0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2918:1: ( rule__EvolutionRemoveOperation__Alternatives_0 )
            {
             before(grammarAccess.getEvolutionRemoveOperationAccess().getAlternatives_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2919:1: ( rule__EvolutionRemoveOperation__Alternatives_0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2919:2: rule__EvolutionRemoveOperation__Alternatives_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRemoveOperation__Alternatives_0_in_rule__EvolutionRemoveOperation__Group__0__Impl5880);
            rule__EvolutionRemoveOperation__Alternatives_0();
            _fsp--;


            }

             after(grammarAccess.getEvolutionRemoveOperationAccess().getAlternatives_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRemoveOperation__Group__0__Impl


    // $ANTLR start rule__EvolutionRemoveOperation__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2929:1: rule__EvolutionRemoveOperation__Group__1 : rule__EvolutionRemoveOperation__Group__1__Impl rule__EvolutionRemoveOperation__Group__2 ;
    public final void rule__EvolutionRemoveOperation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2933:1: ( rule__EvolutionRemoveOperation__Group__1__Impl rule__EvolutionRemoveOperation__Group__2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2934:2: rule__EvolutionRemoveOperation__Group__1__Impl rule__EvolutionRemoveOperation__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRemoveOperation__Group__1__Impl_in_rule__EvolutionRemoveOperation__Group__15910);
            rule__EvolutionRemoveOperation__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRemoveOperation__Group__2_in_rule__EvolutionRemoveOperation__Group__15913);
            rule__EvolutionRemoveOperation__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRemoveOperation__Group__1


    // $ANTLR start rule__EvolutionRemoveOperation__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2941:1: rule__EvolutionRemoveOperation__Group__1__Impl : ( ( rule__EvolutionRemoveOperation__Alternatives_1 ) ) ;
    public final void rule__EvolutionRemoveOperation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2945:1: ( ( ( rule__EvolutionRemoveOperation__Alternatives_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2946:1: ( ( rule__EvolutionRemoveOperation__Alternatives_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2946:1: ( ( rule__EvolutionRemoveOperation__Alternatives_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2947:1: ( rule__EvolutionRemoveOperation__Alternatives_1 )
            {
             before(grammarAccess.getEvolutionRemoveOperationAccess().getAlternatives_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2948:1: ( rule__EvolutionRemoveOperation__Alternatives_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2948:2: rule__EvolutionRemoveOperation__Alternatives_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRemoveOperation__Alternatives_1_in_rule__EvolutionRemoveOperation__Group__1__Impl5940);
            rule__EvolutionRemoveOperation__Alternatives_1();
            _fsp--;


            }

             after(grammarAccess.getEvolutionRemoveOperationAccess().getAlternatives_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRemoveOperation__Group__1__Impl


    // $ANTLR start rule__EvolutionRemoveOperation__Group__2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2958:1: rule__EvolutionRemoveOperation__Group__2 : rule__EvolutionRemoveOperation__Group__2__Impl ;
    public final void rule__EvolutionRemoveOperation__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2962:1: ( rule__EvolutionRemoveOperation__Group__2__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2963:2: rule__EvolutionRemoveOperation__Group__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRemoveOperation__Group__2__Impl_in_rule__EvolutionRemoveOperation__Group__25970);
            rule__EvolutionRemoveOperation__Group__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRemoveOperation__Group__2


    // $ANTLR start rule__EvolutionRemoveOperation__Group__2__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2969:1: rule__EvolutionRemoveOperation__Group__2__Impl : ( ( rule__EvolutionRemoveOperation__Group_2__0 )* ) ;
    public final void rule__EvolutionRemoveOperation__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2973:1: ( ( ( rule__EvolutionRemoveOperation__Group_2__0 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2974:1: ( ( rule__EvolutionRemoveOperation__Group_2__0 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2974:1: ( ( rule__EvolutionRemoveOperation__Group_2__0 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2975:1: ( rule__EvolutionRemoveOperation__Group_2__0 )*
            {
             before(grammarAccess.getEvolutionRemoveOperationAccess().getGroup_2()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2976:1: ( rule__EvolutionRemoveOperation__Group_2__0 )*
            loop25:
            do {
                int alt25=2;
                int LA25_0 = input.LA(1);

                if ( (LA25_0==33) ) {
                    alt25=1;
                }


                switch (alt25) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2976:2: rule__EvolutionRemoveOperation__Group_2__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__EvolutionRemoveOperation__Group_2__0_in_rule__EvolutionRemoveOperation__Group__2__Impl5997);
            	    rule__EvolutionRemoveOperation__Group_2__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop25;
                }
            } while (true);

             after(grammarAccess.getEvolutionRemoveOperationAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRemoveOperation__Group__2__Impl


    // $ANTLR start rule__EvolutionRemoveOperation__Group_2__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2992:1: rule__EvolutionRemoveOperation__Group_2__0 : rule__EvolutionRemoveOperation__Group_2__0__Impl rule__EvolutionRemoveOperation__Group_2__1 ;
    public final void rule__EvolutionRemoveOperation__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2996:1: ( rule__EvolutionRemoveOperation__Group_2__0__Impl rule__EvolutionRemoveOperation__Group_2__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:2997:2: rule__EvolutionRemoveOperation__Group_2__0__Impl rule__EvolutionRemoveOperation__Group_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRemoveOperation__Group_2__0__Impl_in_rule__EvolutionRemoveOperation__Group_2__06034);
            rule__EvolutionRemoveOperation__Group_2__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRemoveOperation__Group_2__1_in_rule__EvolutionRemoveOperation__Group_2__06037);
            rule__EvolutionRemoveOperation__Group_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRemoveOperation__Group_2__0


    // $ANTLR start rule__EvolutionRemoveOperation__Group_2__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3004:1: rule__EvolutionRemoveOperation__Group_2__0__Impl : ( ',' ) ;
    public final void rule__EvolutionRemoveOperation__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3008:1: ( ( ',' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3009:1: ( ',' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3009:1: ( ',' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3010:1: ','
            {
             before(grammarAccess.getEvolutionRemoveOperationAccess().getCommaKeyword_2_0()); 
            match(input,33,FollowSets000.FOLLOW_33_in_rule__EvolutionRemoveOperation__Group_2__0__Impl6065); 
             after(grammarAccess.getEvolutionRemoveOperationAccess().getCommaKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRemoveOperation__Group_2__0__Impl


    // $ANTLR start rule__EvolutionRemoveOperation__Group_2__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3023:1: rule__EvolutionRemoveOperation__Group_2__1 : rule__EvolutionRemoveOperation__Group_2__1__Impl ;
    public final void rule__EvolutionRemoveOperation__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3027:1: ( rule__EvolutionRemoveOperation__Group_2__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3028:2: rule__EvolutionRemoveOperation__Group_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRemoveOperation__Group_2__1__Impl_in_rule__EvolutionRemoveOperation__Group_2__16096);
            rule__EvolutionRemoveOperation__Group_2__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRemoveOperation__Group_2__1


    // $ANTLR start rule__EvolutionRemoveOperation__Group_2__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3034:1: rule__EvolutionRemoveOperation__Group_2__1__Impl : ( ( rule__EvolutionRemoveOperation__Alternatives_2_1 ) ) ;
    public final void rule__EvolutionRemoveOperation__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3038:1: ( ( ( rule__EvolutionRemoveOperation__Alternatives_2_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3039:1: ( ( rule__EvolutionRemoveOperation__Alternatives_2_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3039:1: ( ( rule__EvolutionRemoveOperation__Alternatives_2_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3040:1: ( rule__EvolutionRemoveOperation__Alternatives_2_1 )
            {
             before(grammarAccess.getEvolutionRemoveOperationAccess().getAlternatives_2_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3041:1: ( rule__EvolutionRemoveOperation__Alternatives_2_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3041:2: rule__EvolutionRemoveOperation__Alternatives_2_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EvolutionRemoveOperation__Alternatives_2_1_in_rule__EvolutionRemoveOperation__Group_2__1__Impl6123);
            rule__EvolutionRemoveOperation__Alternatives_2_1();
            _fsp--;


            }

             after(grammarAccess.getEvolutionRemoveOperationAccess().getAlternatives_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRemoveOperation__Group_2__1__Impl


    // $ANTLR start rule__SubModel__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3055:1: rule__SubModel__Group__0 : rule__SubModel__Group__0__Impl rule__SubModel__Group__1 ;
    public final void rule__SubModel__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3059:1: ( rule__SubModel__Group__0__Impl rule__SubModel__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3060:2: rule__SubModel__Group__0__Impl rule__SubModel__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group__0__Impl_in_rule__SubModel__Group__06157);
            rule__SubModel__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group__1_in_rule__SubModel__Group__06160);
            rule__SubModel__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group__0


    // $ANTLR start rule__SubModel__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3067:1: rule__SubModel__Group__0__Impl : ( 'submodel' ) ;
    public final void rule__SubModel__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3071:1: ( ( 'submodel' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3072:1: ( 'submodel' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3072:1: ( 'submodel' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3073:1: 'submodel'
            {
             before(grammarAccess.getSubModelAccess().getSubmodelKeyword_0()); 
            match(input,35,FollowSets000.FOLLOW_35_in_rule__SubModel__Group__0__Impl6188); 
             after(grammarAccess.getSubModelAccess().getSubmodelKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group__0__Impl


    // $ANTLR start rule__SubModel__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3086:1: rule__SubModel__Group__1 : rule__SubModel__Group__1__Impl rule__SubModel__Group__2 ;
    public final void rule__SubModel__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3090:1: ( rule__SubModel__Group__1__Impl rule__SubModel__Group__2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3091:2: rule__SubModel__Group__1__Impl rule__SubModel__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group__1__Impl_in_rule__SubModel__Group__16219);
            rule__SubModel__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group__2_in_rule__SubModel__Group__16222);
            rule__SubModel__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group__1


    // $ANTLR start rule__SubModel__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3098:1: rule__SubModel__Group__1__Impl : ( ( rule__SubModel__NameAssignment_1 ) ) ;
    public final void rule__SubModel__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3102:1: ( ( ( rule__SubModel__NameAssignment_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3103:1: ( ( rule__SubModel__NameAssignment_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3103:1: ( ( rule__SubModel__NameAssignment_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3104:1: ( rule__SubModel__NameAssignment_1 )
            {
             before(grammarAccess.getSubModelAccess().getNameAssignment_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3105:1: ( rule__SubModel__NameAssignment_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3105:2: rule__SubModel__NameAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__NameAssignment_1_in_rule__SubModel__Group__1__Impl6249);
            rule__SubModel__NameAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getSubModelAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group__1__Impl


    // $ANTLR start rule__SubModel__Group__2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3115:1: rule__SubModel__Group__2 : rule__SubModel__Group__2__Impl rule__SubModel__Group__3 ;
    public final void rule__SubModel__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3119:1: ( rule__SubModel__Group__2__Impl rule__SubModel__Group__3 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3120:2: rule__SubModel__Group__2__Impl rule__SubModel__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group__2__Impl_in_rule__SubModel__Group__26279);
            rule__SubModel__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group__3_in_rule__SubModel__Group__26282);
            rule__SubModel__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group__2


    // $ANTLR start rule__SubModel__Group__2__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3127:1: rule__SubModel__Group__2__Impl : ( ( rule__SubModel__Group_2__0 )? ) ;
    public final void rule__SubModel__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3131:1: ( ( ( rule__SubModel__Group_2__0 )? ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3132:1: ( ( rule__SubModel__Group_2__0 )? )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3132:1: ( ( rule__SubModel__Group_2__0 )? )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3133:1: ( rule__SubModel__Group_2__0 )?
            {
             before(grammarAccess.getSubModelAccess().getGroup_2()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3134:1: ( rule__SubModel__Group_2__0 )?
            int alt26=2;
            int LA26_0 = input.LA(1);

            if ( (LA26_0==28) ) {
                alt26=1;
            }
            switch (alt26) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3134:2: rule__SubModel__Group_2__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group_2__0_in_rule__SubModel__Group__2__Impl6309);
                    rule__SubModel__Group_2__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getSubModelAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group__2__Impl


    // $ANTLR start rule__SubModel__Group__3
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3144:1: rule__SubModel__Group__3 : rule__SubModel__Group__3__Impl rule__SubModel__Group__4 ;
    public final void rule__SubModel__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3148:1: ( rule__SubModel__Group__3__Impl rule__SubModel__Group__4 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3149:2: rule__SubModel__Group__3__Impl rule__SubModel__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group__3__Impl_in_rule__SubModel__Group__36340);
            rule__SubModel__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group__4_in_rule__SubModel__Group__36343);
            rule__SubModel__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group__3


    // $ANTLR start rule__SubModel__Group__3__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3156:1: rule__SubModel__Group__3__Impl : ( 'on' ) ;
    public final void rule__SubModel__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3160:1: ( ( 'on' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3161:1: ( 'on' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3161:1: ( 'on' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3162:1: 'on'
            {
             before(grammarAccess.getSubModelAccess().getOnKeyword_3()); 
            match(input,25,FollowSets000.FOLLOW_25_in_rule__SubModel__Group__3__Impl6371); 
             after(grammarAccess.getSubModelAccess().getOnKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group__3__Impl


    // $ANTLR start rule__SubModel__Group__4
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3175:1: rule__SubModel__Group__4 : rule__SubModel__Group__4__Impl rule__SubModel__Group__5 ;
    public final void rule__SubModel__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3179:1: ( rule__SubModel__Group__4__Impl rule__SubModel__Group__5 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3180:2: rule__SubModel__Group__4__Impl rule__SubModel__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group__4__Impl_in_rule__SubModel__Group__46402);
            rule__SubModel__Group__4__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group__5_in_rule__SubModel__Group__46405);
            rule__SubModel__Group__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group__4


    // $ANTLR start rule__SubModel__Group__4__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3187:1: rule__SubModel__Group__4__Impl : ( ( rule__SubModel__ParentAssignment_4 ) ) ;
    public final void rule__SubModel__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3191:1: ( ( ( rule__SubModel__ParentAssignment_4 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3192:1: ( ( rule__SubModel__ParentAssignment_4 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3192:1: ( ( rule__SubModel__ParentAssignment_4 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3193:1: ( rule__SubModel__ParentAssignment_4 )
            {
             before(grammarAccess.getSubModelAccess().getParentAssignment_4()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3194:1: ( rule__SubModel__ParentAssignment_4 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3194:2: rule__SubModel__ParentAssignment_4
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__ParentAssignment_4_in_rule__SubModel__Group__4__Impl6432);
            rule__SubModel__ParentAssignment_4();
            _fsp--;


            }

             after(grammarAccess.getSubModelAccess().getParentAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group__4__Impl


    // $ANTLR start rule__SubModel__Group__5
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3204:1: rule__SubModel__Group__5 : rule__SubModel__Group__5__Impl rule__SubModel__Group__6 ;
    public final void rule__SubModel__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3208:1: ( rule__SubModel__Group__5__Impl rule__SubModel__Group__6 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3209:2: rule__SubModel__Group__5__Impl rule__SubModel__Group__6
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group__5__Impl_in_rule__SubModel__Group__56462);
            rule__SubModel__Group__5__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group__6_in_rule__SubModel__Group__56465);
            rule__SubModel__Group__6();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group__5


    // $ANTLR start rule__SubModel__Group__5__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3216:1: rule__SubModel__Group__5__Impl : ( '{' ) ;
    public final void rule__SubModel__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3220:1: ( ( '{' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3221:1: ( '{' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3221:1: ( '{' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3222:1: '{'
            {
             before(grammarAccess.getSubModelAccess().getLeftCurlyBracketKeyword_5()); 
            match(input,26,FollowSets000.FOLLOW_26_in_rule__SubModel__Group__5__Impl6493); 
             after(grammarAccess.getSubModelAccess().getLeftCurlyBracketKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group__5__Impl


    // $ANTLR start rule__SubModel__Group__6
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3235:1: rule__SubModel__Group__6 : rule__SubModel__Group__6__Impl rule__SubModel__Group__7 ;
    public final void rule__SubModel__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3239:1: ( rule__SubModel__Group__6__Impl rule__SubModel__Group__7 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3240:2: rule__SubModel__Group__6__Impl rule__SubModel__Group__7
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group__6__Impl_in_rule__SubModel__Group__66524);
            rule__SubModel__Group__6__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group__7_in_rule__SubModel__Group__66527);
            rule__SubModel__Group__7();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group__6


    // $ANTLR start rule__SubModel__Group__6__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3247:1: rule__SubModel__Group__6__Impl : ( ( rule__SubModel__ImportsAssignment_6 )* ) ;
    public final void rule__SubModel__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3251:1: ( ( ( rule__SubModel__ImportsAssignment_6 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3252:1: ( ( rule__SubModel__ImportsAssignment_6 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3252:1: ( ( rule__SubModel__ImportsAssignment_6 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3253:1: ( rule__SubModel__ImportsAssignment_6 )*
            {
             before(grammarAccess.getSubModelAccess().getImportsAssignment_6()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3254:1: ( rule__SubModel__ImportsAssignment_6 )*
            loop27:
            do {
                int alt27=2;
                int LA27_0 = input.LA(1);

                if ( (LA27_0==22) ) {
                    alt27=1;
                }


                switch (alt27) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3254:2: rule__SubModel__ImportsAssignment_6
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__SubModel__ImportsAssignment_6_in_rule__SubModel__Group__6__Impl6554);
            	    rule__SubModel__ImportsAssignment_6();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop27;
                }
            } while (true);

             after(grammarAccess.getSubModelAccess().getImportsAssignment_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group__6__Impl


    // $ANTLR start rule__SubModel__Group__7
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3264:1: rule__SubModel__Group__7 : rule__SubModel__Group__7__Impl rule__SubModel__Group__8 ;
    public final void rule__SubModel__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3268:1: ( rule__SubModel__Group__7__Impl rule__SubModel__Group__8 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3269:2: rule__SubModel__Group__7__Impl rule__SubModel__Group__8
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group__7__Impl_in_rule__SubModel__Group__76585);
            rule__SubModel__Group__7__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group__8_in_rule__SubModel__Group__76588);
            rule__SubModel__Group__8();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group__7


    // $ANTLR start rule__SubModel__Group__7__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3276:1: rule__SubModel__Group__7__Impl : ( ( rule__SubModel__Group_7__0 )* ) ;
    public final void rule__SubModel__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3280:1: ( ( ( rule__SubModel__Group_7__0 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3281:1: ( ( rule__SubModel__Group_7__0 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3281:1: ( ( rule__SubModel__Group_7__0 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3282:1: ( rule__SubModel__Group_7__0 )*
            {
             before(grammarAccess.getSubModelAccess().getGroup_7()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3283:1: ( rule__SubModel__Group_7__0 )*
            loop28:
            do {
                int alt28=2;
                int LA28_0 = input.LA(1);

                if ( (LA28_0==21) ) {
                    alt28=1;
                }


                switch (alt28) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3283:2: rule__SubModel__Group_7__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group_7__0_in_rule__SubModel__Group__7__Impl6615);
            	    rule__SubModel__Group_7__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop28;
                }
            } while (true);

             after(grammarAccess.getSubModelAccess().getGroup_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group__7__Impl


    // $ANTLR start rule__SubModel__Group__8
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3293:1: rule__SubModel__Group__8 : rule__SubModel__Group__8__Impl ;
    public final void rule__SubModel__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3297:1: ( rule__SubModel__Group__8__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3298:2: rule__SubModel__Group__8__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group__8__Impl_in_rule__SubModel__Group__86646);
            rule__SubModel__Group__8__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group__8


    // $ANTLR start rule__SubModel__Group__8__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3304:1: rule__SubModel__Group__8__Impl : ( '}' ) ;
    public final void rule__SubModel__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3308:1: ( ( '}' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3309:1: ( '}' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3309:1: ( '}' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3310:1: '}'
            {
             before(grammarAccess.getSubModelAccess().getRightCurlyBracketKeyword_8()); 
            match(input,27,FollowSets000.FOLLOW_27_in_rule__SubModel__Group__8__Impl6674); 
             after(grammarAccess.getSubModelAccess().getRightCurlyBracketKeyword_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group__8__Impl


    // $ANTLR start rule__SubModel__Group_2__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3341:1: rule__SubModel__Group_2__0 : rule__SubModel__Group_2__0__Impl rule__SubModel__Group_2__1 ;
    public final void rule__SubModel__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3345:1: ( rule__SubModel__Group_2__0__Impl rule__SubModel__Group_2__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3346:2: rule__SubModel__Group_2__0__Impl rule__SubModel__Group_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group_2__0__Impl_in_rule__SubModel__Group_2__06723);
            rule__SubModel__Group_2__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group_2__1_in_rule__SubModel__Group_2__06726);
            rule__SubModel__Group_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group_2__0


    // $ANTLR start rule__SubModel__Group_2__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3353:1: rule__SubModel__Group_2__0__Impl : ( ':' ) ;
    public final void rule__SubModel__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3357:1: ( ( ':' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3358:1: ( ':' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3358:1: ( ':' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3359:1: ':'
            {
             before(grammarAccess.getSubModelAccess().getColonKeyword_2_0()); 
            match(input,28,FollowSets000.FOLLOW_28_in_rule__SubModel__Group_2__0__Impl6754); 
             after(grammarAccess.getSubModelAccess().getColonKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group_2__0__Impl


    // $ANTLR start rule__SubModel__Group_2__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3372:1: rule__SubModel__Group_2__1 : rule__SubModel__Group_2__1__Impl ;
    public final void rule__SubModel__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3376:1: ( rule__SubModel__Group_2__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3377:2: rule__SubModel__Group_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group_2__1__Impl_in_rule__SubModel__Group_2__16785);
            rule__SubModel__Group_2__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group_2__1


    // $ANTLR start rule__SubModel__Group_2__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3383:1: rule__SubModel__Group_2__1__Impl : ( ( rule__SubModel__TextAssignment_2_1 ) ) ;
    public final void rule__SubModel__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3387:1: ( ( ( rule__SubModel__TextAssignment_2_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3388:1: ( ( rule__SubModel__TextAssignment_2_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3388:1: ( ( rule__SubModel__TextAssignment_2_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3389:1: ( rule__SubModel__TextAssignment_2_1 )
            {
             before(grammarAccess.getSubModelAccess().getTextAssignment_2_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3390:1: ( rule__SubModel__TextAssignment_2_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3390:2: rule__SubModel__TextAssignment_2_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__TextAssignment_2_1_in_rule__SubModel__Group_2__1__Impl6812);
            rule__SubModel__TextAssignment_2_1();
            _fsp--;


            }

             after(grammarAccess.getSubModelAccess().getTextAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group_2__1__Impl


    // $ANTLR start rule__SubModel__Group_7__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3404:1: rule__SubModel__Group_7__0 : rule__SubModel__Group_7__0__Impl rule__SubModel__Group_7__1 ;
    public final void rule__SubModel__Group_7__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3408:1: ( rule__SubModel__Group_7__0__Impl rule__SubModel__Group_7__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3409:2: rule__SubModel__Group_7__0__Impl rule__SubModel__Group_7__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group_7__0__Impl_in_rule__SubModel__Group_7__06846);
            rule__SubModel__Group_7__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group_7__1_in_rule__SubModel__Group_7__06849);
            rule__SubModel__Group_7__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group_7__0


    // $ANTLR start rule__SubModel__Group_7__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3416:1: rule__SubModel__Group_7__0__Impl : ( 'include' ) ;
    public final void rule__SubModel__Group_7__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3420:1: ( ( 'include' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3421:1: ( 'include' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3421:1: ( 'include' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3422:1: 'include'
            {
             before(grammarAccess.getSubModelAccess().getIncludeKeyword_7_0()); 
            match(input,21,FollowSets000.FOLLOW_21_in_rule__SubModel__Group_7__0__Impl6877); 
             after(grammarAccess.getSubModelAccess().getIncludeKeyword_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group_7__0__Impl


    // $ANTLR start rule__SubModel__Group_7__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3435:1: rule__SubModel__Group_7__1 : rule__SubModel__Group_7__1__Impl rule__SubModel__Group_7__2 ;
    public final void rule__SubModel__Group_7__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3439:1: ( rule__SubModel__Group_7__1__Impl rule__SubModel__Group_7__2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3440:2: rule__SubModel__Group_7__1__Impl rule__SubModel__Group_7__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group_7__1__Impl_in_rule__SubModel__Group_7__16908);
            rule__SubModel__Group_7__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group_7__2_in_rule__SubModel__Group_7__16911);
            rule__SubModel__Group_7__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group_7__1


    // $ANTLR start rule__SubModel__Group_7__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3447:1: rule__SubModel__Group_7__1__Impl : ( ( rule__SubModel__ChildrenAssignment_7_1 ) ) ;
    public final void rule__SubModel__Group_7__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3451:1: ( ( ( rule__SubModel__ChildrenAssignment_7_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3452:1: ( ( rule__SubModel__ChildrenAssignment_7_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3452:1: ( ( rule__SubModel__ChildrenAssignment_7_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3453:1: ( rule__SubModel__ChildrenAssignment_7_1 )
            {
             before(grammarAccess.getSubModelAccess().getChildrenAssignment_7_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3454:1: ( rule__SubModel__ChildrenAssignment_7_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3454:2: rule__SubModel__ChildrenAssignment_7_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__ChildrenAssignment_7_1_in_rule__SubModel__Group_7__1__Impl6938);
            rule__SubModel__ChildrenAssignment_7_1();
            _fsp--;


            }

             after(grammarAccess.getSubModelAccess().getChildrenAssignment_7_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group_7__1__Impl


    // $ANTLR start rule__SubModel__Group_7__2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3464:1: rule__SubModel__Group_7__2 : rule__SubModel__Group_7__2__Impl rule__SubModel__Group_7__3 ;
    public final void rule__SubModel__Group_7__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3468:1: ( rule__SubModel__Group_7__2__Impl rule__SubModel__Group_7__3 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3469:2: rule__SubModel__Group_7__2__Impl rule__SubModel__Group_7__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group_7__2__Impl_in_rule__SubModel__Group_7__26968);
            rule__SubModel__Group_7__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group_7__3_in_rule__SubModel__Group_7__26971);
            rule__SubModel__Group_7__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group_7__2


    // $ANTLR start rule__SubModel__Group_7__2__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3476:1: rule__SubModel__Group_7__2__Impl : ( ( rule__SubModel__Group_7_2__0 )* ) ;
    public final void rule__SubModel__Group_7__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3480:1: ( ( ( rule__SubModel__Group_7_2__0 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3481:1: ( ( rule__SubModel__Group_7_2__0 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3481:1: ( ( rule__SubModel__Group_7_2__0 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3482:1: ( rule__SubModel__Group_7_2__0 )*
            {
             before(grammarAccess.getSubModelAccess().getGroup_7_2()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3483:1: ( rule__SubModel__Group_7_2__0 )*
            loop29:
            do {
                int alt29=2;
                int LA29_0 = input.LA(1);

                if ( (LA29_0==33) ) {
                    alt29=1;
                }


                switch (alt29) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3483:2: rule__SubModel__Group_7_2__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group_7_2__0_in_rule__SubModel__Group_7__2__Impl6998);
            	    rule__SubModel__Group_7_2__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop29;
                }
            } while (true);

             after(grammarAccess.getSubModelAccess().getGroup_7_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group_7__2__Impl


    // $ANTLR start rule__SubModel__Group_7__3
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3493:1: rule__SubModel__Group_7__3 : rule__SubModel__Group_7__3__Impl ;
    public final void rule__SubModel__Group_7__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3497:1: ( rule__SubModel__Group_7__3__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3498:2: rule__SubModel__Group_7__3__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group_7__3__Impl_in_rule__SubModel__Group_7__37029);
            rule__SubModel__Group_7__3__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group_7__3


    // $ANTLR start rule__SubModel__Group_7__3__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3504:1: rule__SubModel__Group_7__3__Impl : ( ';' ) ;
    public final void rule__SubModel__Group_7__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3508:1: ( ( ';' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3509:1: ( ';' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3509:1: ( ';' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3510:1: ';'
            {
             before(grammarAccess.getSubModelAccess().getSemicolonKeyword_7_3()); 
            match(input,20,FollowSets000.FOLLOW_20_in_rule__SubModel__Group_7__3__Impl7057); 
             after(grammarAccess.getSubModelAccess().getSemicolonKeyword_7_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group_7__3__Impl


    // $ANTLR start rule__SubModel__Group_7_2__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3531:1: rule__SubModel__Group_7_2__0 : rule__SubModel__Group_7_2__0__Impl rule__SubModel__Group_7_2__1 ;
    public final void rule__SubModel__Group_7_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3535:1: ( rule__SubModel__Group_7_2__0__Impl rule__SubModel__Group_7_2__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3536:2: rule__SubModel__Group_7_2__0__Impl rule__SubModel__Group_7_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group_7_2__0__Impl_in_rule__SubModel__Group_7_2__07096);
            rule__SubModel__Group_7_2__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group_7_2__1_in_rule__SubModel__Group_7_2__07099);
            rule__SubModel__Group_7_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group_7_2__0


    // $ANTLR start rule__SubModel__Group_7_2__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3543:1: rule__SubModel__Group_7_2__0__Impl : ( ',' ) ;
    public final void rule__SubModel__Group_7_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3547:1: ( ( ',' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3548:1: ( ',' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3548:1: ( ',' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3549:1: ','
            {
             before(grammarAccess.getSubModelAccess().getCommaKeyword_7_2_0()); 
            match(input,33,FollowSets000.FOLLOW_33_in_rule__SubModel__Group_7_2__0__Impl7127); 
             after(grammarAccess.getSubModelAccess().getCommaKeyword_7_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group_7_2__0__Impl


    // $ANTLR start rule__SubModel__Group_7_2__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3562:1: rule__SubModel__Group_7_2__1 : rule__SubModel__Group_7_2__1__Impl ;
    public final void rule__SubModel__Group_7_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3566:1: ( rule__SubModel__Group_7_2__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3567:2: rule__SubModel__Group_7_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__Group_7_2__1__Impl_in_rule__SubModel__Group_7_2__17158);
            rule__SubModel__Group_7_2__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group_7_2__1


    // $ANTLR start rule__SubModel__Group_7_2__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3573:1: rule__SubModel__Group_7_2__1__Impl : ( ( rule__SubModel__ChildrenAssignment_7_2_1 ) ) ;
    public final void rule__SubModel__Group_7_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3577:1: ( ( ( rule__SubModel__ChildrenAssignment_7_2_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3578:1: ( ( rule__SubModel__ChildrenAssignment_7_2_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3578:1: ( ( rule__SubModel__ChildrenAssignment_7_2_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3579:1: ( rule__SubModel__ChildrenAssignment_7_2_1 )
            {
             before(grammarAccess.getSubModelAccess().getChildrenAssignment_7_2_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3580:1: ( rule__SubModel__ChildrenAssignment_7_2_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3580:2: rule__SubModel__ChildrenAssignment_7_2_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModel__ChildrenAssignment_7_2_1_in_rule__SubModel__Group_7_2__1__Impl7185);
            rule__SubModel__ChildrenAssignment_7_2_1();
            _fsp--;


            }

             after(grammarAccess.getSubModelAccess().getChildrenAssignment_7_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__Group_7_2__1__Impl


    // $ANTLR start rule__SubModelInclusion__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3594:1: rule__SubModelInclusion__Group__0 : rule__SubModelInclusion__Group__0__Impl rule__SubModelInclusion__Group__1 ;
    public final void rule__SubModelInclusion__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3598:1: ( rule__SubModelInclusion__Group__0__Impl rule__SubModelInclusion__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3599:2: rule__SubModelInclusion__Group__0__Impl rule__SubModelInclusion__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModelInclusion__Group__0__Impl_in_rule__SubModelInclusion__Group__07219);
            rule__SubModelInclusion__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__SubModelInclusion__Group__1_in_rule__SubModelInclusion__Group__07222);
            rule__SubModelInclusion__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModelInclusion__Group__0


    // $ANTLR start rule__SubModelInclusion__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3606:1: rule__SubModelInclusion__Group__0__Impl : ( ( rule__SubModelInclusion__ElementAssignment_0 ) ) ;
    public final void rule__SubModelInclusion__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3610:1: ( ( ( rule__SubModelInclusion__ElementAssignment_0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3611:1: ( ( rule__SubModelInclusion__ElementAssignment_0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3611:1: ( ( rule__SubModelInclusion__ElementAssignment_0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3612:1: ( rule__SubModelInclusion__ElementAssignment_0 )
            {
             before(grammarAccess.getSubModelInclusionAccess().getElementAssignment_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3613:1: ( rule__SubModelInclusion__ElementAssignment_0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3613:2: rule__SubModelInclusion__ElementAssignment_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModelInclusion__ElementAssignment_0_in_rule__SubModelInclusion__Group__0__Impl7249);
            rule__SubModelInclusion__ElementAssignment_0();
            _fsp--;


            }

             after(grammarAccess.getSubModelInclusionAccess().getElementAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModelInclusion__Group__0__Impl


    // $ANTLR start rule__SubModelInclusion__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3623:1: rule__SubModelInclusion__Group__1 : rule__SubModelInclusion__Group__1__Impl ;
    public final void rule__SubModelInclusion__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3627:1: ( rule__SubModelInclusion__Group__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3628:2: rule__SubModelInclusion__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModelInclusion__Group__1__Impl_in_rule__SubModelInclusion__Group__17279);
            rule__SubModelInclusion__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModelInclusion__Group__1


    // $ANTLR start rule__SubModelInclusion__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3634:1: rule__SubModelInclusion__Group__1__Impl : ( ( rule__SubModelInclusion__ClosureAssignment_1 )? ) ;
    public final void rule__SubModelInclusion__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3638:1: ( ( ( rule__SubModelInclusion__ClosureAssignment_1 )? ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3639:1: ( ( rule__SubModelInclusion__ClosureAssignment_1 )? )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3639:1: ( ( rule__SubModelInclusion__ClosureAssignment_1 )? )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3640:1: ( rule__SubModelInclusion__ClosureAssignment_1 )?
            {
             before(grammarAccess.getSubModelInclusionAccess().getClosureAssignment_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3641:1: ( rule__SubModelInclusion__ClosureAssignment_1 )?
            int alt30=2;
            int LA30_0 = input.LA(1);

            if ( (LA30_0==15||LA30_0==18) ) {
                alt30=1;
            }
            switch (alt30) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3641:2: rule__SubModelInclusion__ClosureAssignment_1
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__SubModelInclusion__ClosureAssignment_1_in_rule__SubModelInclusion__Group__1__Impl7306);
                    rule__SubModelInclusion__ClosureAssignment_1();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getSubModelInclusionAccess().getClosureAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModelInclusion__Group__1__Impl


    // $ANTLR start rule__FullModel__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3655:1: rule__FullModel__Group__0 : rule__FullModel__Group__0__Impl rule__FullModel__Group__1 ;
    public final void rule__FullModel__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3659:1: ( rule__FullModel__Group__0__Impl rule__FullModel__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3660:2: rule__FullModel__Group__0__Impl rule__FullModel__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group__0__Impl_in_rule__FullModel__Group__07341);
            rule__FullModel__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group__1_in_rule__FullModel__Group__07344);
            rule__FullModel__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group__0


    // $ANTLR start rule__FullModel__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3667:1: rule__FullModel__Group__0__Impl : ( 'model' ) ;
    public final void rule__FullModel__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3671:1: ( ( 'model' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3672:1: ( 'model' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3672:1: ( 'model' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3673:1: 'model'
            {
             before(grammarAccess.getFullModelAccess().getModelKeyword_0()); 
            match(input,24,FollowSets000.FOLLOW_24_in_rule__FullModel__Group__0__Impl7372); 
             after(grammarAccess.getFullModelAccess().getModelKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group__0__Impl


    // $ANTLR start rule__FullModel__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3686:1: rule__FullModel__Group__1 : rule__FullModel__Group__1__Impl rule__FullModel__Group__2 ;
    public final void rule__FullModel__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3690:1: ( rule__FullModel__Group__1__Impl rule__FullModel__Group__2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3691:2: rule__FullModel__Group__1__Impl rule__FullModel__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group__1__Impl_in_rule__FullModel__Group__17403);
            rule__FullModel__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group__2_in_rule__FullModel__Group__17406);
            rule__FullModel__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group__1


    // $ANTLR start rule__FullModel__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3698:1: rule__FullModel__Group__1__Impl : ( ( rule__FullModel__NameAssignment_1 ) ) ;
    public final void rule__FullModel__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3702:1: ( ( ( rule__FullModel__NameAssignment_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3703:1: ( ( rule__FullModel__NameAssignment_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3703:1: ( ( rule__FullModel__NameAssignment_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3704:1: ( rule__FullModel__NameAssignment_1 )
            {
             before(grammarAccess.getFullModelAccess().getNameAssignment_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3705:1: ( rule__FullModel__NameAssignment_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3705:2: rule__FullModel__NameAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__NameAssignment_1_in_rule__FullModel__Group__1__Impl7433);
            rule__FullModel__NameAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getFullModelAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group__1__Impl


    // $ANTLR start rule__FullModel__Group__2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3715:1: rule__FullModel__Group__2 : rule__FullModel__Group__2__Impl rule__FullModel__Group__3 ;
    public final void rule__FullModel__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3719:1: ( rule__FullModel__Group__2__Impl rule__FullModel__Group__3 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3720:2: rule__FullModel__Group__2__Impl rule__FullModel__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group__2__Impl_in_rule__FullModel__Group__27463);
            rule__FullModel__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group__3_in_rule__FullModel__Group__27466);
            rule__FullModel__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group__2


    // $ANTLR start rule__FullModel__Group__2__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3727:1: rule__FullModel__Group__2__Impl : ( ( rule__FullModel__Group_2__0 )? ) ;
    public final void rule__FullModel__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3731:1: ( ( ( rule__FullModel__Group_2__0 )? ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3732:1: ( ( rule__FullModel__Group_2__0 )? )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3732:1: ( ( rule__FullModel__Group_2__0 )? )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3733:1: ( rule__FullModel__Group_2__0 )?
            {
             before(grammarAccess.getFullModelAccess().getGroup_2()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3734:1: ( rule__FullModel__Group_2__0 )?
            int alt31=2;
            int LA31_0 = input.LA(1);

            if ( (LA31_0==28) ) {
                alt31=1;
            }
            switch (alt31) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3734:2: rule__FullModel__Group_2__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_2__0_in_rule__FullModel__Group__2__Impl7493);
                    rule__FullModel__Group_2__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getFullModelAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group__2__Impl


    // $ANTLR start rule__FullModel__Group__3
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3744:1: rule__FullModel__Group__3 : rule__FullModel__Group__3__Impl rule__FullModel__Group__4 ;
    public final void rule__FullModel__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3748:1: ( rule__FullModel__Group__3__Impl rule__FullModel__Group__4 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3749:2: rule__FullModel__Group__3__Impl rule__FullModel__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group__3__Impl_in_rule__FullModel__Group__37524);
            rule__FullModel__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group__4_in_rule__FullModel__Group__37527);
            rule__FullModel__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group__3


    // $ANTLR start rule__FullModel__Group__3__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3756:1: rule__FullModel__Group__3__Impl : ( '{' ) ;
    public final void rule__FullModel__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3760:1: ( ( '{' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3761:1: ( '{' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3761:1: ( '{' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3762:1: '{'
            {
             before(grammarAccess.getFullModelAccess().getLeftCurlyBracketKeyword_3()); 
            match(input,26,FollowSets000.FOLLOW_26_in_rule__FullModel__Group__3__Impl7555); 
             after(grammarAccess.getFullModelAccess().getLeftCurlyBracketKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group__3__Impl


    // $ANTLR start rule__FullModel__Group__4
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3775:1: rule__FullModel__Group__4 : rule__FullModel__Group__4__Impl rule__FullModel__Group__5 ;
    public final void rule__FullModel__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3779:1: ( rule__FullModel__Group__4__Impl rule__FullModel__Group__5 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3780:2: rule__FullModel__Group__4__Impl rule__FullModel__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group__4__Impl_in_rule__FullModel__Group__47586);
            rule__FullModel__Group__4__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group__5_in_rule__FullModel__Group__47589);
            rule__FullModel__Group__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group__4


    // $ANTLR start rule__FullModel__Group__4__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3787:1: rule__FullModel__Group__4__Impl : ( ( rule__FullModel__Alternatives_4 )* ) ;
    public final void rule__FullModel__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3791:1: ( ( ( rule__FullModel__Alternatives_4 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3792:1: ( ( rule__FullModel__Alternatives_4 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3792:1: ( ( rule__FullModel__Alternatives_4 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3793:1: ( rule__FullModel__Alternatives_4 )*
            {
             before(grammarAccess.getFullModelAccess().getAlternatives_4()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3794:1: ( rule__FullModel__Alternatives_4 )*
            loop32:
            do {
                int alt32=2;
                int LA32_0 = input.LA(1);

                if ( (LA32_0==RULE_ID||LA32_0==32||LA32_0==34) ) {
                    alt32=1;
                }


                switch (alt32) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3794:2: rule__FullModel__Alternatives_4
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__FullModel__Alternatives_4_in_rule__FullModel__Group__4__Impl7616);
            	    rule__FullModel__Alternatives_4();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop32;
                }
            } while (true);

             after(grammarAccess.getFullModelAccess().getAlternatives_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group__4__Impl


    // $ANTLR start rule__FullModel__Group__5
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3804:1: rule__FullModel__Group__5 : rule__FullModel__Group__5__Impl ;
    public final void rule__FullModel__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3808:1: ( rule__FullModel__Group__5__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3809:2: rule__FullModel__Group__5__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group__5__Impl_in_rule__FullModel__Group__57647);
            rule__FullModel__Group__5__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group__5


    // $ANTLR start rule__FullModel__Group__5__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3815:1: rule__FullModel__Group__5__Impl : ( '}' ) ;
    public final void rule__FullModel__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3819:1: ( ( '}' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3820:1: ( '}' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3820:1: ( '}' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3821:1: '}'
            {
             before(grammarAccess.getFullModelAccess().getRightCurlyBracketKeyword_5()); 
            match(input,27,FollowSets000.FOLLOW_27_in_rule__FullModel__Group__5__Impl7675); 
             after(grammarAccess.getFullModelAccess().getRightCurlyBracketKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group__5__Impl


    // $ANTLR start rule__FullModel__Group_2__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3846:1: rule__FullModel__Group_2__0 : rule__FullModel__Group_2__0__Impl rule__FullModel__Group_2__1 ;
    public final void rule__FullModel__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3850:1: ( rule__FullModel__Group_2__0__Impl rule__FullModel__Group_2__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3851:2: rule__FullModel__Group_2__0__Impl rule__FullModel__Group_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_2__0__Impl_in_rule__FullModel__Group_2__07718);
            rule__FullModel__Group_2__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_2__1_in_rule__FullModel__Group_2__07721);
            rule__FullModel__Group_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_2__0


    // $ANTLR start rule__FullModel__Group_2__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3858:1: rule__FullModel__Group_2__0__Impl : ( ':' ) ;
    public final void rule__FullModel__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3862:1: ( ( ':' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3863:1: ( ':' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3863:1: ( ':' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3864:1: ':'
            {
             before(grammarAccess.getFullModelAccess().getColonKeyword_2_0()); 
            match(input,28,FollowSets000.FOLLOW_28_in_rule__FullModel__Group_2__0__Impl7749); 
             after(grammarAccess.getFullModelAccess().getColonKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_2__0__Impl


    // $ANTLR start rule__FullModel__Group_2__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3877:1: rule__FullModel__Group_2__1 : rule__FullModel__Group_2__1__Impl ;
    public final void rule__FullModel__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3881:1: ( rule__FullModel__Group_2__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3882:2: rule__FullModel__Group_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_2__1__Impl_in_rule__FullModel__Group_2__17780);
            rule__FullModel__Group_2__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_2__1


    // $ANTLR start rule__FullModel__Group_2__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3888:1: rule__FullModel__Group_2__1__Impl : ( ( rule__FullModel__TextAssignment_2_1 ) ) ;
    public final void rule__FullModel__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3892:1: ( ( ( rule__FullModel__TextAssignment_2_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3893:1: ( ( rule__FullModel__TextAssignment_2_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3893:1: ( ( rule__FullModel__TextAssignment_2_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3894:1: ( rule__FullModel__TextAssignment_2_1 )
            {
             before(grammarAccess.getFullModelAccess().getTextAssignment_2_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3895:1: ( rule__FullModel__TextAssignment_2_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3895:2: rule__FullModel__TextAssignment_2_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__TextAssignment_2_1_in_rule__FullModel__Group_2__1__Impl7807);
            rule__FullModel__TextAssignment_2_1();
            _fsp--;


            }

             after(grammarAccess.getFullModelAccess().getTextAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_2__1__Impl


    // $ANTLR start rule__FullModel__Group_4_0__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3909:1: rule__FullModel__Group_4_0__0 : rule__FullModel__Group_4_0__0__Impl rule__FullModel__Group_4_0__1 ;
    public final void rule__FullModel__Group_4_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3913:1: ( rule__FullModel__Group_4_0__0__Impl rule__FullModel__Group_4_0__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3914:2: rule__FullModel__Group_4_0__0__Impl rule__FullModel__Group_4_0__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_0__0__Impl_in_rule__FullModel__Group_4_0__07841);
            rule__FullModel__Group_4_0__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_0__1_in_rule__FullModel__Group_4_0__07844);
            rule__FullModel__Group_4_0__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_0__0


    // $ANTLR start rule__FullModel__Group_4_0__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3921:1: rule__FullModel__Group_4_0__0__Impl : ( 'actor' ) ;
    public final void rule__FullModel__Group_4_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3925:1: ( ( 'actor' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3926:1: ( 'actor' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3926:1: ( 'actor' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3927:1: 'actor'
            {
             before(grammarAccess.getFullModelAccess().getActorKeyword_4_0_0()); 
            match(input,32,FollowSets000.FOLLOW_32_in_rule__FullModel__Group_4_0__0__Impl7872); 
             after(grammarAccess.getFullModelAccess().getActorKeyword_4_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_0__0__Impl


    // $ANTLR start rule__FullModel__Group_4_0__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3940:1: rule__FullModel__Group_4_0__1 : rule__FullModel__Group_4_0__1__Impl rule__FullModel__Group_4_0__2 ;
    public final void rule__FullModel__Group_4_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3944:1: ( rule__FullModel__Group_4_0__1__Impl rule__FullModel__Group_4_0__2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3945:2: rule__FullModel__Group_4_0__1__Impl rule__FullModel__Group_4_0__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_0__1__Impl_in_rule__FullModel__Group_4_0__17903);
            rule__FullModel__Group_4_0__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_0__2_in_rule__FullModel__Group_4_0__17906);
            rule__FullModel__Group_4_0__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_0__1


    // $ANTLR start rule__FullModel__Group_4_0__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3952:1: rule__FullModel__Group_4_0__1__Impl : ( ( rule__FullModel__ChildrenAssignment_4_0_1 ) ) ;
    public final void rule__FullModel__Group_4_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3956:1: ( ( ( rule__FullModel__ChildrenAssignment_4_0_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3957:1: ( ( rule__FullModel__ChildrenAssignment_4_0_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3957:1: ( ( rule__FullModel__ChildrenAssignment_4_0_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3958:1: ( rule__FullModel__ChildrenAssignment_4_0_1 )
            {
             before(grammarAccess.getFullModelAccess().getChildrenAssignment_4_0_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3959:1: ( rule__FullModel__ChildrenAssignment_4_0_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3959:2: rule__FullModel__ChildrenAssignment_4_0_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__ChildrenAssignment_4_0_1_in_rule__FullModel__Group_4_0__1__Impl7933);
            rule__FullModel__ChildrenAssignment_4_0_1();
            _fsp--;


            }

             after(grammarAccess.getFullModelAccess().getChildrenAssignment_4_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_0__1__Impl


    // $ANTLR start rule__FullModel__Group_4_0__2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3969:1: rule__FullModel__Group_4_0__2 : rule__FullModel__Group_4_0__2__Impl rule__FullModel__Group_4_0__3 ;
    public final void rule__FullModel__Group_4_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3973:1: ( rule__FullModel__Group_4_0__2__Impl rule__FullModel__Group_4_0__3 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3974:2: rule__FullModel__Group_4_0__2__Impl rule__FullModel__Group_4_0__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_0__2__Impl_in_rule__FullModel__Group_4_0__27963);
            rule__FullModel__Group_4_0__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_0__3_in_rule__FullModel__Group_4_0__27966);
            rule__FullModel__Group_4_0__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_0__2


    // $ANTLR start rule__FullModel__Group_4_0__2__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3981:1: rule__FullModel__Group_4_0__2__Impl : ( ( rule__FullModel__Group_4_0_2__0 )* ) ;
    public final void rule__FullModel__Group_4_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3985:1: ( ( ( rule__FullModel__Group_4_0_2__0 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3986:1: ( ( rule__FullModel__Group_4_0_2__0 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3986:1: ( ( rule__FullModel__Group_4_0_2__0 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3987:1: ( rule__FullModel__Group_4_0_2__0 )*
            {
             before(grammarAccess.getFullModelAccess().getGroup_4_0_2()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3988:1: ( rule__FullModel__Group_4_0_2__0 )*
            loop33:
            do {
                int alt33=2;
                int LA33_0 = input.LA(1);

                if ( (LA33_0==33) ) {
                    alt33=1;
                }


                switch (alt33) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3988:2: rule__FullModel__Group_4_0_2__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_0_2__0_in_rule__FullModel__Group_4_0__2__Impl7993);
            	    rule__FullModel__Group_4_0_2__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop33;
                }
            } while (true);

             after(grammarAccess.getFullModelAccess().getGroup_4_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_0__2__Impl


    // $ANTLR start rule__FullModel__Group_4_0__3
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:3998:1: rule__FullModel__Group_4_0__3 : rule__FullModel__Group_4_0__3__Impl ;
    public final void rule__FullModel__Group_4_0__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4002:1: ( rule__FullModel__Group_4_0__3__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4003:2: rule__FullModel__Group_4_0__3__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_0__3__Impl_in_rule__FullModel__Group_4_0__38024);
            rule__FullModel__Group_4_0__3__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_0__3


    // $ANTLR start rule__FullModel__Group_4_0__3__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4009:1: rule__FullModel__Group_4_0__3__Impl : ( ';' ) ;
    public final void rule__FullModel__Group_4_0__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4013:1: ( ( ';' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4014:1: ( ';' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4014:1: ( ';' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4015:1: ';'
            {
             before(grammarAccess.getFullModelAccess().getSemicolonKeyword_4_0_3()); 
            match(input,20,FollowSets000.FOLLOW_20_in_rule__FullModel__Group_4_0__3__Impl8052); 
             after(grammarAccess.getFullModelAccess().getSemicolonKeyword_4_0_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_0__3__Impl


    // $ANTLR start rule__FullModel__Group_4_0_2__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4036:1: rule__FullModel__Group_4_0_2__0 : rule__FullModel__Group_4_0_2__0__Impl rule__FullModel__Group_4_0_2__1 ;
    public final void rule__FullModel__Group_4_0_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4040:1: ( rule__FullModel__Group_4_0_2__0__Impl rule__FullModel__Group_4_0_2__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4041:2: rule__FullModel__Group_4_0_2__0__Impl rule__FullModel__Group_4_0_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_0_2__0__Impl_in_rule__FullModel__Group_4_0_2__08091);
            rule__FullModel__Group_4_0_2__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_0_2__1_in_rule__FullModel__Group_4_0_2__08094);
            rule__FullModel__Group_4_0_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_0_2__0


    // $ANTLR start rule__FullModel__Group_4_0_2__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4048:1: rule__FullModel__Group_4_0_2__0__Impl : ( ',' ) ;
    public final void rule__FullModel__Group_4_0_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4052:1: ( ( ',' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4053:1: ( ',' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4053:1: ( ',' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4054:1: ','
            {
             before(grammarAccess.getFullModelAccess().getCommaKeyword_4_0_2_0()); 
            match(input,33,FollowSets000.FOLLOW_33_in_rule__FullModel__Group_4_0_2__0__Impl8122); 
             after(grammarAccess.getFullModelAccess().getCommaKeyword_4_0_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_0_2__0__Impl


    // $ANTLR start rule__FullModel__Group_4_0_2__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4067:1: rule__FullModel__Group_4_0_2__1 : rule__FullModel__Group_4_0_2__1__Impl ;
    public final void rule__FullModel__Group_4_0_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4071:1: ( rule__FullModel__Group_4_0_2__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4072:2: rule__FullModel__Group_4_0_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_0_2__1__Impl_in_rule__FullModel__Group_4_0_2__18153);
            rule__FullModel__Group_4_0_2__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_0_2__1


    // $ANTLR start rule__FullModel__Group_4_0_2__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4078:1: rule__FullModel__Group_4_0_2__1__Impl : ( ( rule__FullModel__ChildrenAssignment_4_0_2_1 ) ) ;
    public final void rule__FullModel__Group_4_0_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4082:1: ( ( ( rule__FullModel__ChildrenAssignment_4_0_2_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4083:1: ( ( rule__FullModel__ChildrenAssignment_4_0_2_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4083:1: ( ( rule__FullModel__ChildrenAssignment_4_0_2_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4084:1: ( rule__FullModel__ChildrenAssignment_4_0_2_1 )
            {
             before(grammarAccess.getFullModelAccess().getChildrenAssignment_4_0_2_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4085:1: ( rule__FullModel__ChildrenAssignment_4_0_2_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4085:2: rule__FullModel__ChildrenAssignment_4_0_2_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__ChildrenAssignment_4_0_2_1_in_rule__FullModel__Group_4_0_2__1__Impl8180);
            rule__FullModel__ChildrenAssignment_4_0_2_1();
            _fsp--;


            }

             after(grammarAccess.getFullModelAccess().getChildrenAssignment_4_0_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_0_2__1__Impl


    // $ANTLR start rule__FullModel__Group_4_1__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4099:1: rule__FullModel__Group_4_1__0 : rule__FullModel__Group_4_1__0__Impl rule__FullModel__Group_4_1__1 ;
    public final void rule__FullModel__Group_4_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4103:1: ( rule__FullModel__Group_4_1__0__Impl rule__FullModel__Group_4_1__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4104:2: rule__FullModel__Group_4_1__0__Impl rule__FullModel__Group_4_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_1__0__Impl_in_rule__FullModel__Group_4_1__08214);
            rule__FullModel__Group_4_1__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_1__1_in_rule__FullModel__Group_4_1__08217);
            rule__FullModel__Group_4_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_1__0


    // $ANTLR start rule__FullModel__Group_4_1__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4111:1: rule__FullModel__Group_4_1__0__Impl : ( 'goal' ) ;
    public final void rule__FullModel__Group_4_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4115:1: ( ( 'goal' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4116:1: ( 'goal' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4116:1: ( 'goal' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4117:1: 'goal'
            {
             before(grammarAccess.getFullModelAccess().getGoalKeyword_4_1_0()); 
            match(input,34,FollowSets000.FOLLOW_34_in_rule__FullModel__Group_4_1__0__Impl8245); 
             after(grammarAccess.getFullModelAccess().getGoalKeyword_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_1__0__Impl


    // $ANTLR start rule__FullModel__Group_4_1__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4130:1: rule__FullModel__Group_4_1__1 : rule__FullModel__Group_4_1__1__Impl rule__FullModel__Group_4_1__2 ;
    public final void rule__FullModel__Group_4_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4134:1: ( rule__FullModel__Group_4_1__1__Impl rule__FullModel__Group_4_1__2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4135:2: rule__FullModel__Group_4_1__1__Impl rule__FullModel__Group_4_1__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_1__1__Impl_in_rule__FullModel__Group_4_1__18276);
            rule__FullModel__Group_4_1__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_1__2_in_rule__FullModel__Group_4_1__18279);
            rule__FullModel__Group_4_1__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_1__1


    // $ANTLR start rule__FullModel__Group_4_1__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4142:1: rule__FullModel__Group_4_1__1__Impl : ( ( rule__FullModel__ChildrenAssignment_4_1_1 ) ) ;
    public final void rule__FullModel__Group_4_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4146:1: ( ( ( rule__FullModel__ChildrenAssignment_4_1_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4147:1: ( ( rule__FullModel__ChildrenAssignment_4_1_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4147:1: ( ( rule__FullModel__ChildrenAssignment_4_1_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4148:1: ( rule__FullModel__ChildrenAssignment_4_1_1 )
            {
             before(grammarAccess.getFullModelAccess().getChildrenAssignment_4_1_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4149:1: ( rule__FullModel__ChildrenAssignment_4_1_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4149:2: rule__FullModel__ChildrenAssignment_4_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__ChildrenAssignment_4_1_1_in_rule__FullModel__Group_4_1__1__Impl8306);
            rule__FullModel__ChildrenAssignment_4_1_1();
            _fsp--;


            }

             after(grammarAccess.getFullModelAccess().getChildrenAssignment_4_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_1__1__Impl


    // $ANTLR start rule__FullModel__Group_4_1__2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4159:1: rule__FullModel__Group_4_1__2 : rule__FullModel__Group_4_1__2__Impl rule__FullModel__Group_4_1__3 ;
    public final void rule__FullModel__Group_4_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4163:1: ( rule__FullModel__Group_4_1__2__Impl rule__FullModel__Group_4_1__3 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4164:2: rule__FullModel__Group_4_1__2__Impl rule__FullModel__Group_4_1__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_1__2__Impl_in_rule__FullModel__Group_4_1__28336);
            rule__FullModel__Group_4_1__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_1__3_in_rule__FullModel__Group_4_1__28339);
            rule__FullModel__Group_4_1__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_1__2


    // $ANTLR start rule__FullModel__Group_4_1__2__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4171:1: rule__FullModel__Group_4_1__2__Impl : ( ( rule__FullModel__Group_4_1_2__0 )* ) ;
    public final void rule__FullModel__Group_4_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4175:1: ( ( ( rule__FullModel__Group_4_1_2__0 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4176:1: ( ( rule__FullModel__Group_4_1_2__0 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4176:1: ( ( rule__FullModel__Group_4_1_2__0 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4177:1: ( rule__FullModel__Group_4_1_2__0 )*
            {
             before(grammarAccess.getFullModelAccess().getGroup_4_1_2()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4178:1: ( rule__FullModel__Group_4_1_2__0 )*
            loop34:
            do {
                int alt34=2;
                int LA34_0 = input.LA(1);

                if ( (LA34_0==33) ) {
                    alt34=1;
                }


                switch (alt34) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4178:2: rule__FullModel__Group_4_1_2__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_1_2__0_in_rule__FullModel__Group_4_1__2__Impl8366);
            	    rule__FullModel__Group_4_1_2__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop34;
                }
            } while (true);

             after(grammarAccess.getFullModelAccess().getGroup_4_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_1__2__Impl


    // $ANTLR start rule__FullModel__Group_4_1__3
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4188:1: rule__FullModel__Group_4_1__3 : rule__FullModel__Group_4_1__3__Impl ;
    public final void rule__FullModel__Group_4_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4192:1: ( rule__FullModel__Group_4_1__3__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4193:2: rule__FullModel__Group_4_1__3__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_1__3__Impl_in_rule__FullModel__Group_4_1__38397);
            rule__FullModel__Group_4_1__3__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_1__3


    // $ANTLR start rule__FullModel__Group_4_1__3__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4199:1: rule__FullModel__Group_4_1__3__Impl : ( ';' ) ;
    public final void rule__FullModel__Group_4_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4203:1: ( ( ';' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4204:1: ( ';' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4204:1: ( ';' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4205:1: ';'
            {
             before(grammarAccess.getFullModelAccess().getSemicolonKeyword_4_1_3()); 
            match(input,20,FollowSets000.FOLLOW_20_in_rule__FullModel__Group_4_1__3__Impl8425); 
             after(grammarAccess.getFullModelAccess().getSemicolonKeyword_4_1_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_1__3__Impl


    // $ANTLR start rule__FullModel__Group_4_1_2__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4226:1: rule__FullModel__Group_4_1_2__0 : rule__FullModel__Group_4_1_2__0__Impl rule__FullModel__Group_4_1_2__1 ;
    public final void rule__FullModel__Group_4_1_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4230:1: ( rule__FullModel__Group_4_1_2__0__Impl rule__FullModel__Group_4_1_2__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4231:2: rule__FullModel__Group_4_1_2__0__Impl rule__FullModel__Group_4_1_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_1_2__0__Impl_in_rule__FullModel__Group_4_1_2__08464);
            rule__FullModel__Group_4_1_2__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_1_2__1_in_rule__FullModel__Group_4_1_2__08467);
            rule__FullModel__Group_4_1_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_1_2__0


    // $ANTLR start rule__FullModel__Group_4_1_2__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4238:1: rule__FullModel__Group_4_1_2__0__Impl : ( ',' ) ;
    public final void rule__FullModel__Group_4_1_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4242:1: ( ( ',' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4243:1: ( ',' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4243:1: ( ',' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4244:1: ','
            {
             before(grammarAccess.getFullModelAccess().getCommaKeyword_4_1_2_0()); 
            match(input,33,FollowSets000.FOLLOW_33_in_rule__FullModel__Group_4_1_2__0__Impl8495); 
             after(grammarAccess.getFullModelAccess().getCommaKeyword_4_1_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_1_2__0__Impl


    // $ANTLR start rule__FullModel__Group_4_1_2__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4257:1: rule__FullModel__Group_4_1_2__1 : rule__FullModel__Group_4_1_2__1__Impl ;
    public final void rule__FullModel__Group_4_1_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4261:1: ( rule__FullModel__Group_4_1_2__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4262:2: rule__FullModel__Group_4_1_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_1_2__1__Impl_in_rule__FullModel__Group_4_1_2__18526);
            rule__FullModel__Group_4_1_2__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_1_2__1


    // $ANTLR start rule__FullModel__Group_4_1_2__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4268:1: rule__FullModel__Group_4_1_2__1__Impl : ( ( rule__FullModel__ChildrenAssignment_4_1_2_1 ) ) ;
    public final void rule__FullModel__Group_4_1_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4272:1: ( ( ( rule__FullModel__ChildrenAssignment_4_1_2_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4273:1: ( ( rule__FullModel__ChildrenAssignment_4_1_2_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4273:1: ( ( rule__FullModel__ChildrenAssignment_4_1_2_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4274:1: ( rule__FullModel__ChildrenAssignment_4_1_2_1 )
            {
             before(grammarAccess.getFullModelAccess().getChildrenAssignment_4_1_2_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4275:1: ( rule__FullModel__ChildrenAssignment_4_1_2_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4275:2: rule__FullModel__ChildrenAssignment_4_1_2_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__ChildrenAssignment_4_1_2_1_in_rule__FullModel__Group_4_1_2__1__Impl8553);
            rule__FullModel__ChildrenAssignment_4_1_2_1();
            _fsp--;


            }

             after(grammarAccess.getFullModelAccess().getChildrenAssignment_4_1_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_1_2__1__Impl


    // $ANTLR start rule__FullModel__Group_4_2__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4289:1: rule__FullModel__Group_4_2__0 : rule__FullModel__Group_4_2__0__Impl rule__FullModel__Group_4_2__1 ;
    public final void rule__FullModel__Group_4_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4293:1: ( rule__FullModel__Group_4_2__0__Impl rule__FullModel__Group_4_2__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4294:2: rule__FullModel__Group_4_2__0__Impl rule__FullModel__Group_4_2__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_2__0__Impl_in_rule__FullModel__Group_4_2__08587);
            rule__FullModel__Group_4_2__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_2__1_in_rule__FullModel__Group_4_2__08590);
            rule__FullModel__Group_4_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_2__0


    // $ANTLR start rule__FullModel__Group_4_2__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4301:1: rule__FullModel__Group_4_2__0__Impl : ( ( rule__FullModel__ChildrenAssignment_4_2_0 ) ) ;
    public final void rule__FullModel__Group_4_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4305:1: ( ( ( rule__FullModel__ChildrenAssignment_4_2_0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4306:1: ( ( rule__FullModel__ChildrenAssignment_4_2_0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4306:1: ( ( rule__FullModel__ChildrenAssignment_4_2_0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4307:1: ( rule__FullModel__ChildrenAssignment_4_2_0 )
            {
             before(grammarAccess.getFullModelAccess().getChildrenAssignment_4_2_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4308:1: ( rule__FullModel__ChildrenAssignment_4_2_0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4308:2: rule__FullModel__ChildrenAssignment_4_2_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__ChildrenAssignment_4_2_0_in_rule__FullModel__Group_4_2__0__Impl8617);
            rule__FullModel__ChildrenAssignment_4_2_0();
            _fsp--;


            }

             after(grammarAccess.getFullModelAccess().getChildrenAssignment_4_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_2__0__Impl


    // $ANTLR start rule__FullModel__Group_4_2__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4318:1: rule__FullModel__Group_4_2__1 : rule__FullModel__Group_4_2__1__Impl ;
    public final void rule__FullModel__Group_4_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4322:1: ( rule__FullModel__Group_4_2__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4323:2: rule__FullModel__Group_4_2__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__FullModel__Group_4_2__1__Impl_in_rule__FullModel__Group_4_2__18647);
            rule__FullModel__Group_4_2__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_2__1


    // $ANTLR start rule__FullModel__Group_4_2__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4329:1: rule__FullModel__Group_4_2__1__Impl : ( ';' ) ;
    public final void rule__FullModel__Group_4_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4333:1: ( ( ';' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4334:1: ( ';' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4334:1: ( ';' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4335:1: ';'
            {
             before(grammarAccess.getFullModelAccess().getSemicolonKeyword_4_2_1()); 
            match(input,20,FollowSets000.FOLLOW_20_in_rule__FullModel__Group_4_2__1__Impl8675); 
             after(grammarAccess.getFullModelAccess().getSemicolonKeyword_4_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__Group_4_2__1__Impl


    // $ANTLR start rule__GoalDeclaration__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4352:1: rule__GoalDeclaration__Group__0 : rule__GoalDeclaration__Group__0__Impl rule__GoalDeclaration__Group__1 ;
    public final void rule__GoalDeclaration__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4356:1: ( rule__GoalDeclaration__Group__0__Impl rule__GoalDeclaration__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4357:2: rule__GoalDeclaration__Group__0__Impl rule__GoalDeclaration__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__Group__0__Impl_in_rule__GoalDeclaration__Group__08710);
            rule__GoalDeclaration__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__Group__1_in_rule__GoalDeclaration__Group__08713);
            rule__GoalDeclaration__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__Group__0


    // $ANTLR start rule__GoalDeclaration__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4364:1: rule__GoalDeclaration__Group__0__Impl : ( ( rule__GoalDeclaration__NameAssignment_0 ) ) ;
    public final void rule__GoalDeclaration__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4368:1: ( ( ( rule__GoalDeclaration__NameAssignment_0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4369:1: ( ( rule__GoalDeclaration__NameAssignment_0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4369:1: ( ( rule__GoalDeclaration__NameAssignment_0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4370:1: ( rule__GoalDeclaration__NameAssignment_0 )
            {
             before(grammarAccess.getGoalDeclarationAccess().getNameAssignment_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4371:1: ( rule__GoalDeclaration__NameAssignment_0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4371:2: rule__GoalDeclaration__NameAssignment_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__NameAssignment_0_in_rule__GoalDeclaration__Group__0__Impl8740);
            rule__GoalDeclaration__NameAssignment_0();
            _fsp--;


            }

             after(grammarAccess.getGoalDeclarationAccess().getNameAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__Group__0__Impl


    // $ANTLR start rule__GoalDeclaration__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4381:1: rule__GoalDeclaration__Group__1 : rule__GoalDeclaration__Group__1__Impl ;
    public final void rule__GoalDeclaration__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4385:1: ( rule__GoalDeclaration__Group__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4386:2: rule__GoalDeclaration__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__Group__1__Impl_in_rule__GoalDeclaration__Group__18770);
            rule__GoalDeclaration__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__Group__1


    // $ANTLR start rule__GoalDeclaration__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4392:1: rule__GoalDeclaration__Group__1__Impl : ( ( rule__GoalDeclaration__Alternatives_1 )? ) ;
    public final void rule__GoalDeclaration__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4396:1: ( ( ( rule__GoalDeclaration__Alternatives_1 )? ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4397:1: ( ( rule__GoalDeclaration__Alternatives_1 )? )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4397:1: ( ( rule__GoalDeclaration__Alternatives_1 )? )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4398:1: ( rule__GoalDeclaration__Alternatives_1 )?
            {
             before(grammarAccess.getGoalDeclarationAccess().getAlternatives_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4399:1: ( rule__GoalDeclaration__Alternatives_1 )?
            int alt35=2;
            int LA35_0 = input.LA(1);

            if ( (LA35_0==26||LA35_0==28) ) {
                alt35=1;
            }
            switch (alt35) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4399:2: rule__GoalDeclaration__Alternatives_1
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__Alternatives_1_in_rule__GoalDeclaration__Group__1__Impl8797);
                    rule__GoalDeclaration__Alternatives_1();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getGoalDeclarationAccess().getAlternatives_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__Group__1__Impl


    // $ANTLR start rule__GoalDeclaration__Group_1_0__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4413:1: rule__GoalDeclaration__Group_1_0__0 : rule__GoalDeclaration__Group_1_0__0__Impl rule__GoalDeclaration__Group_1_0__1 ;
    public final void rule__GoalDeclaration__Group_1_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4417:1: ( rule__GoalDeclaration__Group_1_0__0__Impl rule__GoalDeclaration__Group_1_0__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4418:2: rule__GoalDeclaration__Group_1_0__0__Impl rule__GoalDeclaration__Group_1_0__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__Group_1_0__0__Impl_in_rule__GoalDeclaration__Group_1_0__08832);
            rule__GoalDeclaration__Group_1_0__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__Group_1_0__1_in_rule__GoalDeclaration__Group_1_0__08835);
            rule__GoalDeclaration__Group_1_0__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__Group_1_0__0


    // $ANTLR start rule__GoalDeclaration__Group_1_0__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4425:1: rule__GoalDeclaration__Group_1_0__0__Impl : ( '{' ) ;
    public final void rule__GoalDeclaration__Group_1_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4429:1: ( ( '{' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4430:1: ( '{' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4430:1: ( '{' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4431:1: '{'
            {
             before(grammarAccess.getGoalDeclarationAccess().getLeftCurlyBracketKeyword_1_0_0()); 
            match(input,26,FollowSets000.FOLLOW_26_in_rule__GoalDeclaration__Group_1_0__0__Impl8863); 
             after(grammarAccess.getGoalDeclarationAccess().getLeftCurlyBracketKeyword_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__Group_1_0__0__Impl


    // $ANTLR start rule__GoalDeclaration__Group_1_0__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4444:1: rule__GoalDeclaration__Group_1_0__1 : rule__GoalDeclaration__Group_1_0__1__Impl rule__GoalDeclaration__Group_1_0__2 ;
    public final void rule__GoalDeclaration__Group_1_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4448:1: ( rule__GoalDeclaration__Group_1_0__1__Impl rule__GoalDeclaration__Group_1_0__2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4449:2: rule__GoalDeclaration__Group_1_0__1__Impl rule__GoalDeclaration__Group_1_0__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__Group_1_0__1__Impl_in_rule__GoalDeclaration__Group_1_0__18894);
            rule__GoalDeclaration__Group_1_0__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__Group_1_0__2_in_rule__GoalDeclaration__Group_1_0__18897);
            rule__GoalDeclaration__Group_1_0__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__Group_1_0__1


    // $ANTLR start rule__GoalDeclaration__Group_1_0__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4456:1: rule__GoalDeclaration__Group_1_0__1__Impl : ( 'text' ) ;
    public final void rule__GoalDeclaration__Group_1_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4460:1: ( ( 'text' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4461:1: ( 'text' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4461:1: ( 'text' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4462:1: 'text'
            {
             before(grammarAccess.getGoalDeclarationAccess().getTextKeyword_1_0_1()); 
            match(input,36,FollowSets000.FOLLOW_36_in_rule__GoalDeclaration__Group_1_0__1__Impl8925); 
             after(grammarAccess.getGoalDeclarationAccess().getTextKeyword_1_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__Group_1_0__1__Impl


    // $ANTLR start rule__GoalDeclaration__Group_1_0__2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4475:1: rule__GoalDeclaration__Group_1_0__2 : rule__GoalDeclaration__Group_1_0__2__Impl rule__GoalDeclaration__Group_1_0__3 ;
    public final void rule__GoalDeclaration__Group_1_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4479:1: ( rule__GoalDeclaration__Group_1_0__2__Impl rule__GoalDeclaration__Group_1_0__3 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4480:2: rule__GoalDeclaration__Group_1_0__2__Impl rule__GoalDeclaration__Group_1_0__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__Group_1_0__2__Impl_in_rule__GoalDeclaration__Group_1_0__28956);
            rule__GoalDeclaration__Group_1_0__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__Group_1_0__3_in_rule__GoalDeclaration__Group_1_0__28959);
            rule__GoalDeclaration__Group_1_0__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__Group_1_0__2


    // $ANTLR start rule__GoalDeclaration__Group_1_0__2__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4487:1: rule__GoalDeclaration__Group_1_0__2__Impl : ( ( rule__GoalDeclaration__TextAssignment_1_0_2 ) ) ;
    public final void rule__GoalDeclaration__Group_1_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4491:1: ( ( ( rule__GoalDeclaration__TextAssignment_1_0_2 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4492:1: ( ( rule__GoalDeclaration__TextAssignment_1_0_2 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4492:1: ( ( rule__GoalDeclaration__TextAssignment_1_0_2 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4493:1: ( rule__GoalDeclaration__TextAssignment_1_0_2 )
            {
             before(grammarAccess.getGoalDeclarationAccess().getTextAssignment_1_0_2()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4494:1: ( rule__GoalDeclaration__TextAssignment_1_0_2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4494:2: rule__GoalDeclaration__TextAssignment_1_0_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__TextAssignment_1_0_2_in_rule__GoalDeclaration__Group_1_0__2__Impl8986);
            rule__GoalDeclaration__TextAssignment_1_0_2();
            _fsp--;


            }

             after(grammarAccess.getGoalDeclarationAccess().getTextAssignment_1_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__Group_1_0__2__Impl


    // $ANTLR start rule__GoalDeclaration__Group_1_0__3
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4504:1: rule__GoalDeclaration__Group_1_0__3 : rule__GoalDeclaration__Group_1_0__3__Impl ;
    public final void rule__GoalDeclaration__Group_1_0__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4508:1: ( rule__GoalDeclaration__Group_1_0__3__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4509:2: rule__GoalDeclaration__Group_1_0__3__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__Group_1_0__3__Impl_in_rule__GoalDeclaration__Group_1_0__39016);
            rule__GoalDeclaration__Group_1_0__3__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__Group_1_0__3


    // $ANTLR start rule__GoalDeclaration__Group_1_0__3__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4515:1: rule__GoalDeclaration__Group_1_0__3__Impl : ( '}' ) ;
    public final void rule__GoalDeclaration__Group_1_0__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4519:1: ( ( '}' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4520:1: ( '}' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4520:1: ( '}' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4521:1: '}'
            {
             before(grammarAccess.getGoalDeclarationAccess().getRightCurlyBracketKeyword_1_0_3()); 
            match(input,27,FollowSets000.FOLLOW_27_in_rule__GoalDeclaration__Group_1_0__3__Impl9044); 
             after(grammarAccess.getGoalDeclarationAccess().getRightCurlyBracketKeyword_1_0_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__Group_1_0__3__Impl


    // $ANTLR start rule__GoalDeclaration__Group_1_1__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4542:1: rule__GoalDeclaration__Group_1_1__0 : rule__GoalDeclaration__Group_1_1__0__Impl rule__GoalDeclaration__Group_1_1__1 ;
    public final void rule__GoalDeclaration__Group_1_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4546:1: ( rule__GoalDeclaration__Group_1_1__0__Impl rule__GoalDeclaration__Group_1_1__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4547:2: rule__GoalDeclaration__Group_1_1__0__Impl rule__GoalDeclaration__Group_1_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__Group_1_1__0__Impl_in_rule__GoalDeclaration__Group_1_1__09083);
            rule__GoalDeclaration__Group_1_1__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__Group_1_1__1_in_rule__GoalDeclaration__Group_1_1__09086);
            rule__GoalDeclaration__Group_1_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__Group_1_1__0


    // $ANTLR start rule__GoalDeclaration__Group_1_1__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4554:1: rule__GoalDeclaration__Group_1_1__0__Impl : ( ':' ) ;
    public final void rule__GoalDeclaration__Group_1_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4558:1: ( ( ':' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4559:1: ( ':' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4559:1: ( ':' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4560:1: ':'
            {
             before(grammarAccess.getGoalDeclarationAccess().getColonKeyword_1_1_0()); 
            match(input,28,FollowSets000.FOLLOW_28_in_rule__GoalDeclaration__Group_1_1__0__Impl9114); 
             after(grammarAccess.getGoalDeclarationAccess().getColonKeyword_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__Group_1_1__0__Impl


    // $ANTLR start rule__GoalDeclaration__Group_1_1__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4573:1: rule__GoalDeclaration__Group_1_1__1 : rule__GoalDeclaration__Group_1_1__1__Impl ;
    public final void rule__GoalDeclaration__Group_1_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4577:1: ( rule__GoalDeclaration__Group_1_1__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4578:2: rule__GoalDeclaration__Group_1_1__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__Group_1_1__1__Impl_in_rule__GoalDeclaration__Group_1_1__19145);
            rule__GoalDeclaration__Group_1_1__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__Group_1_1__1


    // $ANTLR start rule__GoalDeclaration__Group_1_1__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4584:1: rule__GoalDeclaration__Group_1_1__1__Impl : ( ( rule__GoalDeclaration__TextAssignment_1_1_1 ) ) ;
    public final void rule__GoalDeclaration__Group_1_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4588:1: ( ( ( rule__GoalDeclaration__TextAssignment_1_1_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4589:1: ( ( rule__GoalDeclaration__TextAssignment_1_1_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4589:1: ( ( rule__GoalDeclaration__TextAssignment_1_1_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4590:1: ( rule__GoalDeclaration__TextAssignment_1_1_1 )
            {
             before(grammarAccess.getGoalDeclarationAccess().getTextAssignment_1_1_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4591:1: ( rule__GoalDeclaration__TextAssignment_1_1_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4591:2: rule__GoalDeclaration__TextAssignment_1_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__GoalDeclaration__TextAssignment_1_1_1_in_rule__GoalDeclaration__Group_1_1__1__Impl9172);
            rule__GoalDeclaration__TextAssignment_1_1_1();
            _fsp--;


            }

             after(grammarAccess.getGoalDeclarationAccess().getTextAssignment_1_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__Group_1_1__1__Impl


    // $ANTLR start rule__ActorDeclaration__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4605:1: rule__ActorDeclaration__Group__0 : rule__ActorDeclaration__Group__0__Impl rule__ActorDeclaration__Group__1 ;
    public final void rule__ActorDeclaration__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4609:1: ( rule__ActorDeclaration__Group__0__Impl rule__ActorDeclaration__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4610:2: rule__ActorDeclaration__Group__0__Impl rule__ActorDeclaration__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ActorDeclaration__Group__0__Impl_in_rule__ActorDeclaration__Group__09206);
            rule__ActorDeclaration__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__ActorDeclaration__Group__1_in_rule__ActorDeclaration__Group__09209);
            rule__ActorDeclaration__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ActorDeclaration__Group__0


    // $ANTLR start rule__ActorDeclaration__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4617:1: rule__ActorDeclaration__Group__0__Impl : ( ( rule__ActorDeclaration__NameAssignment_0 ) ) ;
    public final void rule__ActorDeclaration__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4621:1: ( ( ( rule__ActorDeclaration__NameAssignment_0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4622:1: ( ( rule__ActorDeclaration__NameAssignment_0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4622:1: ( ( rule__ActorDeclaration__NameAssignment_0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4623:1: ( rule__ActorDeclaration__NameAssignment_0 )
            {
             before(grammarAccess.getActorDeclarationAccess().getNameAssignment_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4624:1: ( rule__ActorDeclaration__NameAssignment_0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4624:2: rule__ActorDeclaration__NameAssignment_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ActorDeclaration__NameAssignment_0_in_rule__ActorDeclaration__Group__0__Impl9236);
            rule__ActorDeclaration__NameAssignment_0();
            _fsp--;


            }

             after(grammarAccess.getActorDeclarationAccess().getNameAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ActorDeclaration__Group__0__Impl


    // $ANTLR start rule__ActorDeclaration__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4634:1: rule__ActorDeclaration__Group__1 : rule__ActorDeclaration__Group__1__Impl ;
    public final void rule__ActorDeclaration__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4638:1: ( rule__ActorDeclaration__Group__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4639:2: rule__ActorDeclaration__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ActorDeclaration__Group__1__Impl_in_rule__ActorDeclaration__Group__19266);
            rule__ActorDeclaration__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ActorDeclaration__Group__1


    // $ANTLR start rule__ActorDeclaration__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4645:1: rule__ActorDeclaration__Group__1__Impl : ( ( rule__ActorDeclaration__Group_1__0 )? ) ;
    public final void rule__ActorDeclaration__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4649:1: ( ( ( rule__ActorDeclaration__Group_1__0 )? ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4650:1: ( ( rule__ActorDeclaration__Group_1__0 )? )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4650:1: ( ( rule__ActorDeclaration__Group_1__0 )? )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4651:1: ( rule__ActorDeclaration__Group_1__0 )?
            {
             before(grammarAccess.getActorDeclarationAccess().getGroup_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4652:1: ( rule__ActorDeclaration__Group_1__0 )?
            int alt36=2;
            int LA36_0 = input.LA(1);

            if ( (LA36_0==28) ) {
                alt36=1;
            }
            switch (alt36) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4652:2: rule__ActorDeclaration__Group_1__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__ActorDeclaration__Group_1__0_in_rule__ActorDeclaration__Group__1__Impl9293);
                    rule__ActorDeclaration__Group_1__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getActorDeclarationAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ActorDeclaration__Group__1__Impl


    // $ANTLR start rule__ActorDeclaration__Group_1__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4666:1: rule__ActorDeclaration__Group_1__0 : rule__ActorDeclaration__Group_1__0__Impl rule__ActorDeclaration__Group_1__1 ;
    public final void rule__ActorDeclaration__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4670:1: ( rule__ActorDeclaration__Group_1__0__Impl rule__ActorDeclaration__Group_1__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4671:2: rule__ActorDeclaration__Group_1__0__Impl rule__ActorDeclaration__Group_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ActorDeclaration__Group_1__0__Impl_in_rule__ActorDeclaration__Group_1__09328);
            rule__ActorDeclaration__Group_1__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__ActorDeclaration__Group_1__1_in_rule__ActorDeclaration__Group_1__09331);
            rule__ActorDeclaration__Group_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ActorDeclaration__Group_1__0


    // $ANTLR start rule__ActorDeclaration__Group_1__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4678:1: rule__ActorDeclaration__Group_1__0__Impl : ( ':' ) ;
    public final void rule__ActorDeclaration__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4682:1: ( ( ':' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4683:1: ( ':' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4683:1: ( ':' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4684:1: ':'
            {
             before(grammarAccess.getActorDeclarationAccess().getColonKeyword_1_0()); 
            match(input,28,FollowSets000.FOLLOW_28_in_rule__ActorDeclaration__Group_1__0__Impl9359); 
             after(grammarAccess.getActorDeclarationAccess().getColonKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ActorDeclaration__Group_1__0__Impl


    // $ANTLR start rule__ActorDeclaration__Group_1__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4697:1: rule__ActorDeclaration__Group_1__1 : rule__ActorDeclaration__Group_1__1__Impl ;
    public final void rule__ActorDeclaration__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4701:1: ( rule__ActorDeclaration__Group_1__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4702:2: rule__ActorDeclaration__Group_1__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ActorDeclaration__Group_1__1__Impl_in_rule__ActorDeclaration__Group_1__19390);
            rule__ActorDeclaration__Group_1__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ActorDeclaration__Group_1__1


    // $ANTLR start rule__ActorDeclaration__Group_1__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4708:1: rule__ActorDeclaration__Group_1__1__Impl : ( ( rule__ActorDeclaration__TextAssignment_1_1 ) ) ;
    public final void rule__ActorDeclaration__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4712:1: ( ( ( rule__ActorDeclaration__TextAssignment_1_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4713:1: ( ( rule__ActorDeclaration__TextAssignment_1_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4713:1: ( ( rule__ActorDeclaration__TextAssignment_1_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4714:1: ( rule__ActorDeclaration__TextAssignment_1_1 )
            {
             before(grammarAccess.getActorDeclarationAccess().getTextAssignment_1_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4715:1: ( rule__ActorDeclaration__TextAssignment_1_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4715:2: rule__ActorDeclaration__TextAssignment_1_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ActorDeclaration__TextAssignment_1_1_in_rule__ActorDeclaration__Group_1__1__Impl9417);
            rule__ActorDeclaration__TextAssignment_1_1();
            _fsp--;


            }

             after(grammarAccess.getActorDeclarationAccess().getTextAssignment_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ActorDeclaration__Group_1__1__Impl


    // $ANTLR start rule__Decomposition__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4729:1: rule__Decomposition__Group__0 : rule__Decomposition__Group__0__Impl rule__Decomposition__Group__1 ;
    public final void rule__Decomposition__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4733:1: ( rule__Decomposition__Group__0__Impl rule__Decomposition__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4734:2: rule__Decomposition__Group__0__Impl rule__Decomposition__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__Group__0__Impl_in_rule__Decomposition__Group__09451);
            rule__Decomposition__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__Group__1_in_rule__Decomposition__Group__09454);
            rule__Decomposition__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__Group__0


    // $ANTLR start rule__Decomposition__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4741:1: rule__Decomposition__Group__0__Impl : ( ( rule__Decomposition__Group_0__0 )? ) ;
    public final void rule__Decomposition__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4745:1: ( ( ( rule__Decomposition__Group_0__0 )? ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4746:1: ( ( rule__Decomposition__Group_0__0 )? )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4746:1: ( ( rule__Decomposition__Group_0__0 )? )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4747:1: ( rule__Decomposition__Group_0__0 )?
            {
             before(grammarAccess.getDecompositionAccess().getGroup_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4748:1: ( rule__Decomposition__Group_0__0 )?
            int alt37=2;
            int LA37_0 = input.LA(1);

            if ( (LA37_0==RULE_ID) ) {
                int LA37_1 = input.LA(2);

                if ( (LA37_1==28) ) {
                    alt37=1;
                }
            }
            switch (alt37) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4748:2: rule__Decomposition__Group_0__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Decomposition__Group_0__0_in_rule__Decomposition__Group__0__Impl9481);
                    rule__Decomposition__Group_0__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getDecompositionAccess().getGroup_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__Group__0__Impl


    // $ANTLR start rule__Decomposition__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4758:1: rule__Decomposition__Group__1 : rule__Decomposition__Group__1__Impl rule__Decomposition__Group__2 ;
    public final void rule__Decomposition__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4762:1: ( rule__Decomposition__Group__1__Impl rule__Decomposition__Group__2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4763:2: rule__Decomposition__Group__1__Impl rule__Decomposition__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__Group__1__Impl_in_rule__Decomposition__Group__19512);
            rule__Decomposition__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__Group__2_in_rule__Decomposition__Group__19515);
            rule__Decomposition__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__Group__1


    // $ANTLR start rule__Decomposition__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4770:1: rule__Decomposition__Group__1__Impl : ( ( rule__Decomposition__SourceAssignment_1 ) ) ;
    public final void rule__Decomposition__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4774:1: ( ( ( rule__Decomposition__SourceAssignment_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4775:1: ( ( rule__Decomposition__SourceAssignment_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4775:1: ( ( rule__Decomposition__SourceAssignment_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4776:1: ( rule__Decomposition__SourceAssignment_1 )
            {
             before(grammarAccess.getDecompositionAccess().getSourceAssignment_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4777:1: ( rule__Decomposition__SourceAssignment_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4777:2: rule__Decomposition__SourceAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__SourceAssignment_1_in_rule__Decomposition__Group__1__Impl9542);
            rule__Decomposition__SourceAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getDecompositionAccess().getSourceAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__Group__1__Impl


    // $ANTLR start rule__Decomposition__Group__2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4787:1: rule__Decomposition__Group__2 : rule__Decomposition__Group__2__Impl rule__Decomposition__Group__3 ;
    public final void rule__Decomposition__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4791:1: ( rule__Decomposition__Group__2__Impl rule__Decomposition__Group__3 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4792:2: rule__Decomposition__Group__2__Impl rule__Decomposition__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__Group__2__Impl_in_rule__Decomposition__Group__29572);
            rule__Decomposition__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__Group__3_in_rule__Decomposition__Group__29575);
            rule__Decomposition__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__Group__2


    // $ANTLR start rule__Decomposition__Group__2__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4799:1: rule__Decomposition__Group__2__Impl : ( ( rule__Decomposition__RelTypeAssignment_2 ) ) ;
    public final void rule__Decomposition__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4803:1: ( ( ( rule__Decomposition__RelTypeAssignment_2 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4804:1: ( ( rule__Decomposition__RelTypeAssignment_2 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4804:1: ( ( rule__Decomposition__RelTypeAssignment_2 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4805:1: ( rule__Decomposition__RelTypeAssignment_2 )
            {
             before(grammarAccess.getDecompositionAccess().getRelTypeAssignment_2()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4806:1: ( rule__Decomposition__RelTypeAssignment_2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4806:2: rule__Decomposition__RelTypeAssignment_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__RelTypeAssignment_2_in_rule__Decomposition__Group__2__Impl9602);
            rule__Decomposition__RelTypeAssignment_2();
            _fsp--;


            }

             after(grammarAccess.getDecompositionAccess().getRelTypeAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__Group__2__Impl


    // $ANTLR start rule__Decomposition__Group__3
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4816:1: rule__Decomposition__Group__3 : rule__Decomposition__Group__3__Impl rule__Decomposition__Group__4 ;
    public final void rule__Decomposition__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4820:1: ( rule__Decomposition__Group__3__Impl rule__Decomposition__Group__4 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4821:2: rule__Decomposition__Group__3__Impl rule__Decomposition__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__Group__3__Impl_in_rule__Decomposition__Group__39632);
            rule__Decomposition__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__Group__4_in_rule__Decomposition__Group__39635);
            rule__Decomposition__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__Group__3


    // $ANTLR start rule__Decomposition__Group__3__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4828:1: rule__Decomposition__Group__3__Impl : ( ( rule__Decomposition__TargetAssignment_3 ) ) ;
    public final void rule__Decomposition__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4832:1: ( ( ( rule__Decomposition__TargetAssignment_3 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4833:1: ( ( rule__Decomposition__TargetAssignment_3 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4833:1: ( ( rule__Decomposition__TargetAssignment_3 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4834:1: ( rule__Decomposition__TargetAssignment_3 )
            {
             before(grammarAccess.getDecompositionAccess().getTargetAssignment_3()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4835:1: ( rule__Decomposition__TargetAssignment_3 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4835:2: rule__Decomposition__TargetAssignment_3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__TargetAssignment_3_in_rule__Decomposition__Group__3__Impl9662);
            rule__Decomposition__TargetAssignment_3();
            _fsp--;


            }

             after(grammarAccess.getDecompositionAccess().getTargetAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__Group__3__Impl


    // $ANTLR start rule__Decomposition__Group__4
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4845:1: rule__Decomposition__Group__4 : rule__Decomposition__Group__4__Impl ;
    public final void rule__Decomposition__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4849:1: ( rule__Decomposition__Group__4__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4850:2: rule__Decomposition__Group__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__Group__4__Impl_in_rule__Decomposition__Group__49692);
            rule__Decomposition__Group__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__Group__4


    // $ANTLR start rule__Decomposition__Group__4__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4856:1: rule__Decomposition__Group__4__Impl : ( ( rule__Decomposition__Group_4__0 )* ) ;
    public final void rule__Decomposition__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4860:1: ( ( ( rule__Decomposition__Group_4__0 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4861:1: ( ( rule__Decomposition__Group_4__0 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4861:1: ( ( rule__Decomposition__Group_4__0 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4862:1: ( rule__Decomposition__Group_4__0 )*
            {
             before(grammarAccess.getDecompositionAccess().getGroup_4()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4863:1: ( rule__Decomposition__Group_4__0 )*
            loop38:
            do {
                int alt38=2;
                int LA38_0 = input.LA(1);

                if ( (LA38_0==33) ) {
                    int LA38_2 = input.LA(2);

                    if ( (LA38_2==RULE_ID) ) {
                        alt38=1;
                    }


                }


                switch (alt38) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4863:2: rule__Decomposition__Group_4__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__Decomposition__Group_4__0_in_rule__Decomposition__Group__4__Impl9719);
            	    rule__Decomposition__Group_4__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop38;
                }
            } while (true);

             after(grammarAccess.getDecompositionAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__Group__4__Impl


    // $ANTLR start rule__Decomposition__Group_0__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4883:1: rule__Decomposition__Group_0__0 : rule__Decomposition__Group_0__0__Impl rule__Decomposition__Group_0__1 ;
    public final void rule__Decomposition__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4887:1: ( rule__Decomposition__Group_0__0__Impl rule__Decomposition__Group_0__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4888:2: rule__Decomposition__Group_0__0__Impl rule__Decomposition__Group_0__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__Group_0__0__Impl_in_rule__Decomposition__Group_0__09760);
            rule__Decomposition__Group_0__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__Group_0__1_in_rule__Decomposition__Group_0__09763);
            rule__Decomposition__Group_0__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__Group_0__0


    // $ANTLR start rule__Decomposition__Group_0__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4895:1: rule__Decomposition__Group_0__0__Impl : ( ( rule__Decomposition__NameAssignment_0_0 ) ) ;
    public final void rule__Decomposition__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4899:1: ( ( ( rule__Decomposition__NameAssignment_0_0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4900:1: ( ( rule__Decomposition__NameAssignment_0_0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4900:1: ( ( rule__Decomposition__NameAssignment_0_0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4901:1: ( rule__Decomposition__NameAssignment_0_0 )
            {
             before(grammarAccess.getDecompositionAccess().getNameAssignment_0_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4902:1: ( rule__Decomposition__NameAssignment_0_0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4902:2: rule__Decomposition__NameAssignment_0_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__NameAssignment_0_0_in_rule__Decomposition__Group_0__0__Impl9790);
            rule__Decomposition__NameAssignment_0_0();
            _fsp--;


            }

             after(grammarAccess.getDecompositionAccess().getNameAssignment_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__Group_0__0__Impl


    // $ANTLR start rule__Decomposition__Group_0__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4912:1: rule__Decomposition__Group_0__1 : rule__Decomposition__Group_0__1__Impl ;
    public final void rule__Decomposition__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4916:1: ( rule__Decomposition__Group_0__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4917:2: rule__Decomposition__Group_0__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__Group_0__1__Impl_in_rule__Decomposition__Group_0__19820);
            rule__Decomposition__Group_0__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__Group_0__1


    // $ANTLR start rule__Decomposition__Group_0__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4923:1: rule__Decomposition__Group_0__1__Impl : ( ':' ) ;
    public final void rule__Decomposition__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4927:1: ( ( ':' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4928:1: ( ':' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4928:1: ( ':' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4929:1: ':'
            {
             before(grammarAccess.getDecompositionAccess().getColonKeyword_0_1()); 
            match(input,28,FollowSets000.FOLLOW_28_in_rule__Decomposition__Group_0__1__Impl9848); 
             after(grammarAccess.getDecompositionAccess().getColonKeyword_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__Group_0__1__Impl


    // $ANTLR start rule__Decomposition__Group_4__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4946:1: rule__Decomposition__Group_4__0 : rule__Decomposition__Group_4__0__Impl rule__Decomposition__Group_4__1 ;
    public final void rule__Decomposition__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4950:1: ( rule__Decomposition__Group_4__0__Impl rule__Decomposition__Group_4__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4951:2: rule__Decomposition__Group_4__0__Impl rule__Decomposition__Group_4__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__Group_4__0__Impl_in_rule__Decomposition__Group_4__09883);
            rule__Decomposition__Group_4__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__Group_4__1_in_rule__Decomposition__Group_4__09886);
            rule__Decomposition__Group_4__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__Group_4__0


    // $ANTLR start rule__Decomposition__Group_4__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4958:1: rule__Decomposition__Group_4__0__Impl : ( ',' ) ;
    public final void rule__Decomposition__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4962:1: ( ( ',' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4963:1: ( ',' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4963:1: ( ',' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4964:1: ','
            {
             before(grammarAccess.getDecompositionAccess().getCommaKeyword_4_0()); 
            match(input,33,FollowSets000.FOLLOW_33_in_rule__Decomposition__Group_4__0__Impl9914); 
             after(grammarAccess.getDecompositionAccess().getCommaKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__Group_4__0__Impl


    // $ANTLR start rule__Decomposition__Group_4__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4977:1: rule__Decomposition__Group_4__1 : rule__Decomposition__Group_4__1__Impl ;
    public final void rule__Decomposition__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4981:1: ( rule__Decomposition__Group_4__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4982:2: rule__Decomposition__Group_4__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__Group_4__1__Impl_in_rule__Decomposition__Group_4__19945);
            rule__Decomposition__Group_4__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__Group_4__1


    // $ANTLR start rule__Decomposition__Group_4__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4988:1: rule__Decomposition__Group_4__1__Impl : ( ( rule__Decomposition__TargetAssignment_4_1 ) ) ;
    public final void rule__Decomposition__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4992:1: ( ( ( rule__Decomposition__TargetAssignment_4_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4993:1: ( ( rule__Decomposition__TargetAssignment_4_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4993:1: ( ( rule__Decomposition__TargetAssignment_4_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4994:1: ( rule__Decomposition__TargetAssignment_4_1 )
            {
             before(grammarAccess.getDecompositionAccess().getTargetAssignment_4_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4995:1: ( rule__Decomposition__TargetAssignment_4_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:4995:2: rule__Decomposition__TargetAssignment_4_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Decomposition__TargetAssignment_4_1_in_rule__Decomposition__Group_4__1__Impl9972);
            rule__Decomposition__TargetAssignment_4_1();
            _fsp--;


            }

             after(grammarAccess.getDecompositionAccess().getTargetAssignment_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__Group_4__1__Impl


    // $ANTLR start rule__OwnRelation__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5009:1: rule__OwnRelation__Group__0 : rule__OwnRelation__Group__0__Impl rule__OwnRelation__Group__1 ;
    public final void rule__OwnRelation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5013:1: ( rule__OwnRelation__Group__0__Impl rule__OwnRelation__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5014:2: rule__OwnRelation__Group__0__Impl rule__OwnRelation__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__Group__0__Impl_in_rule__OwnRelation__Group__010006);
            rule__OwnRelation__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__Group__1_in_rule__OwnRelation__Group__010009);
            rule__OwnRelation__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__Group__0


    // $ANTLR start rule__OwnRelation__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5021:1: rule__OwnRelation__Group__0__Impl : ( ( rule__OwnRelation__Group_0__0 )? ) ;
    public final void rule__OwnRelation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5025:1: ( ( ( rule__OwnRelation__Group_0__0 )? ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5026:1: ( ( rule__OwnRelation__Group_0__0 )? )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5026:1: ( ( rule__OwnRelation__Group_0__0 )? )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5027:1: ( rule__OwnRelation__Group_0__0 )?
            {
             before(grammarAccess.getOwnRelationAccess().getGroup_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5028:1: ( rule__OwnRelation__Group_0__0 )?
            int alt39=2;
            int LA39_0 = input.LA(1);

            if ( (LA39_0==RULE_ID) ) {
                int LA39_1 = input.LA(2);

                if ( (LA39_1==28) ) {
                    alt39=1;
                }
            }
            switch (alt39) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5028:2: rule__OwnRelation__Group_0__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__Group_0__0_in_rule__OwnRelation__Group__0__Impl10036);
                    rule__OwnRelation__Group_0__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getOwnRelationAccess().getGroup_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__Group__0__Impl


    // $ANTLR start rule__OwnRelation__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5038:1: rule__OwnRelation__Group__1 : rule__OwnRelation__Group__1__Impl rule__OwnRelation__Group__2 ;
    public final void rule__OwnRelation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5042:1: ( rule__OwnRelation__Group__1__Impl rule__OwnRelation__Group__2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5043:2: rule__OwnRelation__Group__1__Impl rule__OwnRelation__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__Group__1__Impl_in_rule__OwnRelation__Group__110067);
            rule__OwnRelation__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__Group__2_in_rule__OwnRelation__Group__110070);
            rule__OwnRelation__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__Group__1


    // $ANTLR start rule__OwnRelation__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5050:1: rule__OwnRelation__Group__1__Impl : ( ( rule__OwnRelation__SourceAssignment_1 ) ) ;
    public final void rule__OwnRelation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5054:1: ( ( ( rule__OwnRelation__SourceAssignment_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5055:1: ( ( rule__OwnRelation__SourceAssignment_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5055:1: ( ( rule__OwnRelation__SourceAssignment_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5056:1: ( rule__OwnRelation__SourceAssignment_1 )
            {
             before(grammarAccess.getOwnRelationAccess().getSourceAssignment_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5057:1: ( rule__OwnRelation__SourceAssignment_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5057:2: rule__OwnRelation__SourceAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__SourceAssignment_1_in_rule__OwnRelation__Group__1__Impl10097);
            rule__OwnRelation__SourceAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getOwnRelationAccess().getSourceAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__Group__1__Impl


    // $ANTLR start rule__OwnRelation__Group__2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5067:1: rule__OwnRelation__Group__2 : rule__OwnRelation__Group__2__Impl rule__OwnRelation__Group__3 ;
    public final void rule__OwnRelation__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5071:1: ( rule__OwnRelation__Group__2__Impl rule__OwnRelation__Group__3 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5072:2: rule__OwnRelation__Group__2__Impl rule__OwnRelation__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__Group__2__Impl_in_rule__OwnRelation__Group__210127);
            rule__OwnRelation__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__Group__3_in_rule__OwnRelation__Group__210130);
            rule__OwnRelation__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__Group__2


    // $ANTLR start rule__OwnRelation__Group__2__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5079:1: rule__OwnRelation__Group__2__Impl : ( ( rule__OwnRelation__RelTypeAssignment_2 ) ) ;
    public final void rule__OwnRelation__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5083:1: ( ( ( rule__OwnRelation__RelTypeAssignment_2 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5084:1: ( ( rule__OwnRelation__RelTypeAssignment_2 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5084:1: ( ( rule__OwnRelation__RelTypeAssignment_2 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5085:1: ( rule__OwnRelation__RelTypeAssignment_2 )
            {
             before(grammarAccess.getOwnRelationAccess().getRelTypeAssignment_2()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5086:1: ( rule__OwnRelation__RelTypeAssignment_2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5086:2: rule__OwnRelation__RelTypeAssignment_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__RelTypeAssignment_2_in_rule__OwnRelation__Group__2__Impl10157);
            rule__OwnRelation__RelTypeAssignment_2();
            _fsp--;


            }

             after(grammarAccess.getOwnRelationAccess().getRelTypeAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__Group__2__Impl


    // $ANTLR start rule__OwnRelation__Group__3
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5096:1: rule__OwnRelation__Group__3 : rule__OwnRelation__Group__3__Impl rule__OwnRelation__Group__4 ;
    public final void rule__OwnRelation__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5100:1: ( rule__OwnRelation__Group__3__Impl rule__OwnRelation__Group__4 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5101:2: rule__OwnRelation__Group__3__Impl rule__OwnRelation__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__Group__3__Impl_in_rule__OwnRelation__Group__310187);
            rule__OwnRelation__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__Group__4_in_rule__OwnRelation__Group__310190);
            rule__OwnRelation__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__Group__3


    // $ANTLR start rule__OwnRelation__Group__3__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5108:1: rule__OwnRelation__Group__3__Impl : ( ( rule__OwnRelation__TargetAssignment_3 ) ) ;
    public final void rule__OwnRelation__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5112:1: ( ( ( rule__OwnRelation__TargetAssignment_3 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5113:1: ( ( rule__OwnRelation__TargetAssignment_3 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5113:1: ( ( rule__OwnRelation__TargetAssignment_3 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5114:1: ( rule__OwnRelation__TargetAssignment_3 )
            {
             before(grammarAccess.getOwnRelationAccess().getTargetAssignment_3()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5115:1: ( rule__OwnRelation__TargetAssignment_3 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5115:2: rule__OwnRelation__TargetAssignment_3
            {
            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__TargetAssignment_3_in_rule__OwnRelation__Group__3__Impl10217);
            rule__OwnRelation__TargetAssignment_3();
            _fsp--;


            }

             after(grammarAccess.getOwnRelationAccess().getTargetAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__Group__3__Impl


    // $ANTLR start rule__OwnRelation__Group__4
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5125:1: rule__OwnRelation__Group__4 : rule__OwnRelation__Group__4__Impl ;
    public final void rule__OwnRelation__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5129:1: ( rule__OwnRelation__Group__4__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5130:2: rule__OwnRelation__Group__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__Group__4__Impl_in_rule__OwnRelation__Group__410247);
            rule__OwnRelation__Group__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__Group__4


    // $ANTLR start rule__OwnRelation__Group__4__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5136:1: rule__OwnRelation__Group__4__Impl : ( ( rule__OwnRelation__Group_4__0 )* ) ;
    public final void rule__OwnRelation__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5140:1: ( ( ( rule__OwnRelation__Group_4__0 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5141:1: ( ( rule__OwnRelation__Group_4__0 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5141:1: ( ( rule__OwnRelation__Group_4__0 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5142:1: ( rule__OwnRelation__Group_4__0 )*
            {
             before(grammarAccess.getOwnRelationAccess().getGroup_4()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5143:1: ( rule__OwnRelation__Group_4__0 )*
            loop40:
            do {
                int alt40=2;
                int LA40_0 = input.LA(1);

                if ( (LA40_0==33) ) {
                    int LA40_2 = input.LA(2);

                    if ( (LA40_2==RULE_ID) ) {
                        alt40=1;
                    }


                }


                switch (alt40) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5143:2: rule__OwnRelation__Group_4__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__Group_4__0_in_rule__OwnRelation__Group__4__Impl10274);
            	    rule__OwnRelation__Group_4__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop40;
                }
            } while (true);

             after(grammarAccess.getOwnRelationAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__Group__4__Impl


    // $ANTLR start rule__OwnRelation__Group_0__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5163:1: rule__OwnRelation__Group_0__0 : rule__OwnRelation__Group_0__0__Impl rule__OwnRelation__Group_0__1 ;
    public final void rule__OwnRelation__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5167:1: ( rule__OwnRelation__Group_0__0__Impl rule__OwnRelation__Group_0__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5168:2: rule__OwnRelation__Group_0__0__Impl rule__OwnRelation__Group_0__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__Group_0__0__Impl_in_rule__OwnRelation__Group_0__010315);
            rule__OwnRelation__Group_0__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__Group_0__1_in_rule__OwnRelation__Group_0__010318);
            rule__OwnRelation__Group_0__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__Group_0__0


    // $ANTLR start rule__OwnRelation__Group_0__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5175:1: rule__OwnRelation__Group_0__0__Impl : ( ( rule__OwnRelation__NameAssignment_0_0 ) ) ;
    public final void rule__OwnRelation__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5179:1: ( ( ( rule__OwnRelation__NameAssignment_0_0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5180:1: ( ( rule__OwnRelation__NameAssignment_0_0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5180:1: ( ( rule__OwnRelation__NameAssignment_0_0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5181:1: ( rule__OwnRelation__NameAssignment_0_0 )
            {
             before(grammarAccess.getOwnRelationAccess().getNameAssignment_0_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5182:1: ( rule__OwnRelation__NameAssignment_0_0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5182:2: rule__OwnRelation__NameAssignment_0_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__NameAssignment_0_0_in_rule__OwnRelation__Group_0__0__Impl10345);
            rule__OwnRelation__NameAssignment_0_0();
            _fsp--;


            }

             after(grammarAccess.getOwnRelationAccess().getNameAssignment_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__Group_0__0__Impl


    // $ANTLR start rule__OwnRelation__Group_0__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5192:1: rule__OwnRelation__Group_0__1 : rule__OwnRelation__Group_0__1__Impl ;
    public final void rule__OwnRelation__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5196:1: ( rule__OwnRelation__Group_0__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5197:2: rule__OwnRelation__Group_0__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__Group_0__1__Impl_in_rule__OwnRelation__Group_0__110375);
            rule__OwnRelation__Group_0__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__Group_0__1


    // $ANTLR start rule__OwnRelation__Group_0__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5203:1: rule__OwnRelation__Group_0__1__Impl : ( ':' ) ;
    public final void rule__OwnRelation__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5207:1: ( ( ':' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5208:1: ( ':' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5208:1: ( ':' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5209:1: ':'
            {
             before(grammarAccess.getOwnRelationAccess().getColonKeyword_0_1()); 
            match(input,28,FollowSets000.FOLLOW_28_in_rule__OwnRelation__Group_0__1__Impl10403); 
             after(grammarAccess.getOwnRelationAccess().getColonKeyword_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__Group_0__1__Impl


    // $ANTLR start rule__OwnRelation__Group_4__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5226:1: rule__OwnRelation__Group_4__0 : rule__OwnRelation__Group_4__0__Impl rule__OwnRelation__Group_4__1 ;
    public final void rule__OwnRelation__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5230:1: ( rule__OwnRelation__Group_4__0__Impl rule__OwnRelation__Group_4__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5231:2: rule__OwnRelation__Group_4__0__Impl rule__OwnRelation__Group_4__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__Group_4__0__Impl_in_rule__OwnRelation__Group_4__010438);
            rule__OwnRelation__Group_4__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__Group_4__1_in_rule__OwnRelation__Group_4__010441);
            rule__OwnRelation__Group_4__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__Group_4__0


    // $ANTLR start rule__OwnRelation__Group_4__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5238:1: rule__OwnRelation__Group_4__0__Impl : ( ',' ) ;
    public final void rule__OwnRelation__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5242:1: ( ( ',' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5243:1: ( ',' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5243:1: ( ',' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5244:1: ','
            {
             before(grammarAccess.getOwnRelationAccess().getCommaKeyword_4_0()); 
            match(input,33,FollowSets000.FOLLOW_33_in_rule__OwnRelation__Group_4__0__Impl10469); 
             after(grammarAccess.getOwnRelationAccess().getCommaKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__Group_4__0__Impl


    // $ANTLR start rule__OwnRelation__Group_4__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5257:1: rule__OwnRelation__Group_4__1 : rule__OwnRelation__Group_4__1__Impl ;
    public final void rule__OwnRelation__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5261:1: ( rule__OwnRelation__Group_4__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5262:2: rule__OwnRelation__Group_4__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__Group_4__1__Impl_in_rule__OwnRelation__Group_4__110500);
            rule__OwnRelation__Group_4__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__Group_4__1


    // $ANTLR start rule__OwnRelation__Group_4__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5268:1: rule__OwnRelation__Group_4__1__Impl : ( ( rule__OwnRelation__TargetAssignment_4_1 ) ) ;
    public final void rule__OwnRelation__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5272:1: ( ( ( rule__OwnRelation__TargetAssignment_4_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5273:1: ( ( rule__OwnRelation__TargetAssignment_4_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5273:1: ( ( rule__OwnRelation__TargetAssignment_4_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5274:1: ( rule__OwnRelation__TargetAssignment_4_1 )
            {
             before(grammarAccess.getOwnRelationAccess().getTargetAssignment_4_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5275:1: ( rule__OwnRelation__TargetAssignment_4_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5275:2: rule__OwnRelation__TargetAssignment_4_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__OwnRelation__TargetAssignment_4_1_in_rule__OwnRelation__Group_4__1__Impl10527);
            rule__OwnRelation__TargetAssignment_4_1();
            _fsp--;


            }

             after(grammarAccess.getOwnRelationAccess().getTargetAssignment_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__Group_4__1__Impl


    // $ANTLR start rule__Delegation__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5289:1: rule__Delegation__Group__0 : rule__Delegation__Group__0__Impl rule__Delegation__Group__1 ;
    public final void rule__Delegation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5293:1: ( rule__Delegation__Group__0__Impl rule__Delegation__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5294:2: rule__Delegation__Group__0__Impl rule__Delegation__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Delegation__Group__0__Impl_in_rule__Delegation__Group__010561);
            rule__Delegation__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Delegation__Group__1_in_rule__Delegation__Group__010564);
            rule__Delegation__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Delegation__Group__0


    // $ANTLR start rule__Delegation__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5301:1: rule__Delegation__Group__0__Impl : ( ( rule__Delegation__Group_0__0 )? ) ;
    public final void rule__Delegation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5305:1: ( ( ( rule__Delegation__Group_0__0 )? ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5306:1: ( ( rule__Delegation__Group_0__0 )? )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5306:1: ( ( rule__Delegation__Group_0__0 )? )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5307:1: ( rule__Delegation__Group_0__0 )?
            {
             before(grammarAccess.getDelegationAccess().getGroup_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5308:1: ( rule__Delegation__Group_0__0 )?
            int alt41=2;
            int LA41_0 = input.LA(1);

            if ( (LA41_0==RULE_ID) ) {
                int LA41_1 = input.LA(2);

                if ( (LA41_1==28) ) {
                    alt41=1;
                }
            }
            switch (alt41) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5308:2: rule__Delegation__Group_0__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Delegation__Group_0__0_in_rule__Delegation__Group__0__Impl10591);
                    rule__Delegation__Group_0__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getDelegationAccess().getGroup_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Delegation__Group__0__Impl


    // $ANTLR start rule__Delegation__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5318:1: rule__Delegation__Group__1 : rule__Delegation__Group__1__Impl rule__Delegation__Group__2 ;
    public final void rule__Delegation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5322:1: ( rule__Delegation__Group__1__Impl rule__Delegation__Group__2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5323:2: rule__Delegation__Group__1__Impl rule__Delegation__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Delegation__Group__1__Impl_in_rule__Delegation__Group__110622);
            rule__Delegation__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Delegation__Group__2_in_rule__Delegation__Group__110625);
            rule__Delegation__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Delegation__Group__1


    // $ANTLR start rule__Delegation__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5330:1: rule__Delegation__Group__1__Impl : ( ( rule__Delegation__SourceAssignment_1 ) ) ;
    public final void rule__Delegation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5334:1: ( ( ( rule__Delegation__SourceAssignment_1 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5335:1: ( ( rule__Delegation__SourceAssignment_1 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5335:1: ( ( rule__Delegation__SourceAssignment_1 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5336:1: ( rule__Delegation__SourceAssignment_1 )
            {
             before(grammarAccess.getDelegationAccess().getSourceAssignment_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5337:1: ( rule__Delegation__SourceAssignment_1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5337:2: rule__Delegation__SourceAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Delegation__SourceAssignment_1_in_rule__Delegation__Group__1__Impl10652);
            rule__Delegation__SourceAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getDelegationAccess().getSourceAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Delegation__Group__1__Impl


    // $ANTLR start rule__Delegation__Group__2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5347:1: rule__Delegation__Group__2 : rule__Delegation__Group__2__Impl rule__Delegation__Group__3 ;
    public final void rule__Delegation__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5351:1: ( rule__Delegation__Group__2__Impl rule__Delegation__Group__3 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5352:2: rule__Delegation__Group__2__Impl rule__Delegation__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Delegation__Group__2__Impl_in_rule__Delegation__Group__210682);
            rule__Delegation__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Delegation__Group__3_in_rule__Delegation__Group__210685);
            rule__Delegation__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Delegation__Group__2


    // $ANTLR start rule__Delegation__Group__2__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5359:1: rule__Delegation__Group__2__Impl : ( ( rule__Delegation__RelTypeAssignment_2 ) ) ;
    public final void rule__Delegation__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5363:1: ( ( ( rule__Delegation__RelTypeAssignment_2 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5364:1: ( ( rule__Delegation__RelTypeAssignment_2 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5364:1: ( ( rule__Delegation__RelTypeAssignment_2 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5365:1: ( rule__Delegation__RelTypeAssignment_2 )
            {
             before(grammarAccess.getDelegationAccess().getRelTypeAssignment_2()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5366:1: ( rule__Delegation__RelTypeAssignment_2 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5366:2: rule__Delegation__RelTypeAssignment_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Delegation__RelTypeAssignment_2_in_rule__Delegation__Group__2__Impl10712);
            rule__Delegation__RelTypeAssignment_2();
            _fsp--;


            }

             after(grammarAccess.getDelegationAccess().getRelTypeAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Delegation__Group__2__Impl


    // $ANTLR start rule__Delegation__Group__3
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5376:1: rule__Delegation__Group__3 : rule__Delegation__Group__3__Impl ;
    public final void rule__Delegation__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5380:1: ( rule__Delegation__Group__3__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5381:2: rule__Delegation__Group__3__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Delegation__Group__3__Impl_in_rule__Delegation__Group__310742);
            rule__Delegation__Group__3__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Delegation__Group__3


    // $ANTLR start rule__Delegation__Group__3__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5387:1: rule__Delegation__Group__3__Impl : ( ( rule__Delegation__TargetAssignment_3 ) ) ;
    public final void rule__Delegation__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5391:1: ( ( ( rule__Delegation__TargetAssignment_3 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5392:1: ( ( rule__Delegation__TargetAssignment_3 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5392:1: ( ( rule__Delegation__TargetAssignment_3 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5393:1: ( rule__Delegation__TargetAssignment_3 )
            {
             before(grammarAccess.getDelegationAccess().getTargetAssignment_3()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5394:1: ( rule__Delegation__TargetAssignment_3 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5394:2: rule__Delegation__TargetAssignment_3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Delegation__TargetAssignment_3_in_rule__Delegation__Group__3__Impl10769);
            rule__Delegation__TargetAssignment_3();
            _fsp--;


            }

             after(grammarAccess.getDelegationAccess().getTargetAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Delegation__Group__3__Impl


    // $ANTLR start rule__Delegation__Group_0__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5412:1: rule__Delegation__Group_0__0 : rule__Delegation__Group_0__0__Impl rule__Delegation__Group_0__1 ;
    public final void rule__Delegation__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5416:1: ( rule__Delegation__Group_0__0__Impl rule__Delegation__Group_0__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5417:2: rule__Delegation__Group_0__0__Impl rule__Delegation__Group_0__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Delegation__Group_0__0__Impl_in_rule__Delegation__Group_0__010807);
            rule__Delegation__Group_0__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Delegation__Group_0__1_in_rule__Delegation__Group_0__010810);
            rule__Delegation__Group_0__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Delegation__Group_0__0


    // $ANTLR start rule__Delegation__Group_0__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5424:1: rule__Delegation__Group_0__0__Impl : ( ( rule__Delegation__NameAssignment_0_0 ) ) ;
    public final void rule__Delegation__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5428:1: ( ( ( rule__Delegation__NameAssignment_0_0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5429:1: ( ( rule__Delegation__NameAssignment_0_0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5429:1: ( ( rule__Delegation__NameAssignment_0_0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5430:1: ( rule__Delegation__NameAssignment_0_0 )
            {
             before(grammarAccess.getDelegationAccess().getNameAssignment_0_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5431:1: ( rule__Delegation__NameAssignment_0_0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5431:2: rule__Delegation__NameAssignment_0_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__Delegation__NameAssignment_0_0_in_rule__Delegation__Group_0__0__Impl10837);
            rule__Delegation__NameAssignment_0_0();
            _fsp--;


            }

             after(grammarAccess.getDelegationAccess().getNameAssignment_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Delegation__Group_0__0__Impl


    // $ANTLR start rule__Delegation__Group_0__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5441:1: rule__Delegation__Group_0__1 : rule__Delegation__Group_0__1__Impl ;
    public final void rule__Delegation__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5445:1: ( rule__Delegation__Group_0__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5446:2: rule__Delegation__Group_0__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Delegation__Group_0__1__Impl_in_rule__Delegation__Group_0__110867);
            rule__Delegation__Group_0__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Delegation__Group_0__1


    // $ANTLR start rule__Delegation__Group_0__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5452:1: rule__Delegation__Group_0__1__Impl : ( ':' ) ;
    public final void rule__Delegation__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5456:1: ( ( ':' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5457:1: ( ':' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5457:1: ( ':' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5458:1: ':'
            {
             before(grammarAccess.getDelegationAccess().getColonKeyword_0_1()); 
            match(input,28,FollowSets000.FOLLOW_28_in_rule__Delegation__Group_0__1__Impl10895); 
             after(grammarAccess.getDelegationAccess().getColonKeyword_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Delegation__Group_0__1__Impl


    // $ANTLR start rule__QualifiedName__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5475:1: rule__QualifiedName__Group__0 : rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ;
    public final void rule__QualifiedName__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5479:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5480:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__010930);
            rule__QualifiedName__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__010933);
            rule__QualifiedName__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedName__Group__0


    // $ANTLR start rule__QualifiedName__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5487:1: rule__QualifiedName__Group__0__Impl : ( RULE_ID ) ;
    public final void rule__QualifiedName__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5491:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5492:1: ( RULE_ID )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5492:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5493:1: RULE_ID
            {
             before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__QualifiedName__Group__0__Impl10960); 
             after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedName__Group__0__Impl


    // $ANTLR start rule__QualifiedName__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5504:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ;
    public final void rule__QualifiedName__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5508:1: ( rule__QualifiedName__Group__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5509:2: rule__QualifiedName__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__110989);
            rule__QualifiedName__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedName__Group__1


    // $ANTLR start rule__QualifiedName__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5515:1: rule__QualifiedName__Group__1__Impl : ( ( rule__QualifiedName__Group_1__0 )* ) ;
    public final void rule__QualifiedName__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5519:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5520:1: ( ( rule__QualifiedName__Group_1__0 )* )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5520:1: ( ( rule__QualifiedName__Group_1__0 )* )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5521:1: ( rule__QualifiedName__Group_1__0 )*
            {
             before(grammarAccess.getQualifiedNameAccess().getGroup_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5522:1: ( rule__QualifiedName__Group_1__0 )*
            loop42:
            do {
                int alt42=2;
                int LA42_0 = input.LA(1);

                if ( (LA42_0==37) ) {
                    alt42=1;
                }


                switch (alt42) {
            	case 1 :
            	    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5522:2: rule__QualifiedName__Group_1__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl11016);
            	    rule__QualifiedName__Group_1__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop42;
                }
            } while (true);

             after(grammarAccess.getQualifiedNameAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedName__Group__1__Impl


    // $ANTLR start rule__QualifiedName__Group_1__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5536:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ;
    public final void rule__QualifiedName__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5540:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5541:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__011051);
            rule__QualifiedName__Group_1__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__011054);
            rule__QualifiedName__Group_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedName__Group_1__0


    // $ANTLR start rule__QualifiedName__Group_1__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5548:1: rule__QualifiedName__Group_1__0__Impl : ( '.' ) ;
    public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5552:1: ( ( '.' ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5553:1: ( '.' )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5553:1: ( '.' )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5554:1: '.'
            {
             before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 
            match(input,37,FollowSets000.FOLLOW_37_in_rule__QualifiedName__Group_1__0__Impl11082); 
             after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedName__Group_1__0__Impl


    // $ANTLR start rule__QualifiedName__Group_1__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5567:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl ;
    public final void rule__QualifiedName__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5571:1: ( rule__QualifiedName__Group_1__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5572:2: rule__QualifiedName__Group_1__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__111113);
            rule__QualifiedName__Group_1__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedName__Group_1__1


    // $ANTLR start rule__QualifiedName__Group_1__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5578:1: rule__QualifiedName__Group_1__1__Impl : ( RULE_ID ) ;
    public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5582:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5583:1: ( RULE_ID )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5583:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5584:1: RULE_ID
            {
             before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__QualifiedName__Group_1__1__Impl11140); 
             after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedName__Group_1__1__Impl


    // $ANTLR start rule__QualifiedNameWithWildCard__Group__0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5599:1: rule__QualifiedNameWithWildCard__Group__0 : rule__QualifiedNameWithWildCard__Group__0__Impl rule__QualifiedNameWithWildCard__Group__1 ;
    public final void rule__QualifiedNameWithWildCard__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5603:1: ( rule__QualifiedNameWithWildCard__Group__0__Impl rule__QualifiedNameWithWildCard__Group__1 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5604:2: rule__QualifiedNameWithWildCard__Group__0__Impl rule__QualifiedNameWithWildCard__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__QualifiedNameWithWildCard__Group__0__Impl_in_rule__QualifiedNameWithWildCard__Group__011173);
            rule__QualifiedNameWithWildCard__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__QualifiedNameWithWildCard__Group__1_in_rule__QualifiedNameWithWildCard__Group__011176);
            rule__QualifiedNameWithWildCard__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedNameWithWildCard__Group__0


    // $ANTLR start rule__QualifiedNameWithWildCard__Group__0__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5611:1: rule__QualifiedNameWithWildCard__Group__0__Impl : ( ruleQualifiedName ) ;
    public final void rule__QualifiedNameWithWildCard__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5615:1: ( ( ruleQualifiedName ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5616:1: ( ruleQualifiedName )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5616:1: ( ruleQualifiedName )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5617:1: ruleQualifiedName
            {
             before(grammarAccess.getQualifiedNameWithWildCardAccess().getQualifiedNameParserRuleCall_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_rule__QualifiedNameWithWildCard__Group__0__Impl11203);
            ruleQualifiedName();
            _fsp--;

             after(grammarAccess.getQualifiedNameWithWildCardAccess().getQualifiedNameParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedNameWithWildCard__Group__0__Impl


    // $ANTLR start rule__QualifiedNameWithWildCard__Group__1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5628:1: rule__QualifiedNameWithWildCard__Group__1 : rule__QualifiedNameWithWildCard__Group__1__Impl ;
    public final void rule__QualifiedNameWithWildCard__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5632:1: ( rule__QualifiedNameWithWildCard__Group__1__Impl )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5633:2: rule__QualifiedNameWithWildCard__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__QualifiedNameWithWildCard__Group__1__Impl_in_rule__QualifiedNameWithWildCard__Group__111232);
            rule__QualifiedNameWithWildCard__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedNameWithWildCard__Group__1


    // $ANTLR start rule__QualifiedNameWithWildCard__Group__1__Impl
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5639:1: rule__QualifiedNameWithWildCard__Group__1__Impl : ( ( '.*' )? ) ;
    public final void rule__QualifiedNameWithWildCard__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5643:1: ( ( ( '.*' )? ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5644:1: ( ( '.*' )? )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5644:1: ( ( '.*' )? )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5645:1: ( '.*' )?
            {
             before(grammarAccess.getQualifiedNameWithWildCardAccess().getFullStopAsteriskKeyword_1()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5646:1: ( '.*' )?
            int alt43=2;
            int LA43_0 = input.LA(1);

            if ( (LA43_0==38) ) {
                alt43=1;
            }
            switch (alt43) {
                case 1 :
                    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5647:2: '.*'
                    {
                    match(input,38,FollowSets000.FOLLOW_38_in_rule__QualifiedNameWithWildCard__Group__1__Impl11261); 

                    }
                    break;

            }

             after(grammarAccess.getQualifiedNameWithWildCardAccess().getFullStopAsteriskKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedNameWithWildCard__Group__1__Impl


    // $ANTLR start rule__Situation__NameAssignment_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5663:1: rule__Situation__NameAssignment_1 : ( ruleQualifiedName ) ;
    public final void rule__Situation__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5667:1: ( ( ruleQualifiedName ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5668:1: ( ruleQualifiedName )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5668:1: ( ruleQualifiedName )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5669:1: ruleQualifiedName
            {
             before(grammarAccess.getSituationAccess().getNameQualifiedNameParserRuleCall_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_rule__Situation__NameAssignment_111303);
            ruleQualifiedName();
            _fsp--;

             after(grammarAccess.getSituationAccess().getNameQualifiedNameParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Situation__NameAssignment_1


    // $ANTLR start rule__Situation__IncludesAssignment_3
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5678:1: rule__Situation__IncludesAssignment_3 : ( ruleIncludeSituation ) ;
    public final void rule__Situation__IncludesAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5682:1: ( ( ruleIncludeSituation ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5683:1: ( ruleIncludeSituation )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5683:1: ( ruleIncludeSituation )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5684:1: ruleIncludeSituation
            {
             before(grammarAccess.getSituationAccess().getIncludesIncludeSituationParserRuleCall_3_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleIncludeSituation_in_rule__Situation__IncludesAssignment_311334);
            ruleIncludeSituation();
            _fsp--;

             after(grammarAccess.getSituationAccess().getIncludesIncludeSituationParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Situation__IncludesAssignment_3


    // $ANTLR start rule__Situation__ImportsAssignment_4
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5693:1: rule__Situation__ImportsAssignment_4 : ( ruleImportNamespace ) ;
    public final void rule__Situation__ImportsAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5697:1: ( ( ruleImportNamespace ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5698:1: ( ruleImportNamespace )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5698:1: ( ruleImportNamespace )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5699:1: ruleImportNamespace
            {
             before(grammarAccess.getSituationAccess().getImportsImportNamespaceParserRuleCall_4_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleImportNamespace_in_rule__Situation__ImportsAssignment_411365);
            ruleImportNamespace();
            _fsp--;

             after(grammarAccess.getSituationAccess().getImportsImportNamespaceParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Situation__ImportsAssignment_4


    // $ANTLR start rule__Situation__ChildrenAssignment_5
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5708:1: rule__Situation__ChildrenAssignment_5 : ( ruleModel ) ;
    public final void rule__Situation__ChildrenAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5712:1: ( ( ruleModel ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5713:1: ( ruleModel )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5713:1: ( ruleModel )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5714:1: ruleModel
            {
             before(grammarAccess.getSituationAccess().getChildrenModelParserRuleCall_5_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleModel_in_rule__Situation__ChildrenAssignment_511396);
            ruleModel();
            _fsp--;

             after(grammarAccess.getSituationAccess().getChildrenModelParserRuleCall_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Situation__ChildrenAssignment_5


    // $ANTLR start rule__IncludeSituation__ImportURIAssignment_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5723:1: rule__IncludeSituation__ImportURIAssignment_1 : ( RULE_STRING ) ;
    public final void rule__IncludeSituation__ImportURIAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5727:1: ( ( RULE_STRING ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5728:1: ( RULE_STRING )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5728:1: ( RULE_STRING )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5729:1: RULE_STRING
            {
             before(grammarAccess.getIncludeSituationAccess().getImportURISTRINGTerminalRuleCall_1_0()); 
            match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_rule__IncludeSituation__ImportURIAssignment_111427); 
             after(grammarAccess.getIncludeSituationAccess().getImportURISTRINGTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__IncludeSituation__ImportURIAssignment_1


    // $ANTLR start rule__ImportNamespace__ImportedNamespaceAssignment_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5738:1: rule__ImportNamespace__ImportedNamespaceAssignment_1 : ( ruleQualifiedNameWithWildCard ) ;
    public final void rule__ImportNamespace__ImportedNamespaceAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5742:1: ( ( ruleQualifiedNameWithWildCard ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5743:1: ( ruleQualifiedNameWithWildCard )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5743:1: ( ruleQualifiedNameWithWildCard )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5744:1: ruleQualifiedNameWithWildCard
            {
             before(grammarAccess.getImportNamespaceAccess().getImportedNamespaceQualifiedNameWithWildCardParserRuleCall_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleQualifiedNameWithWildCard_in_rule__ImportNamespace__ImportedNamespaceAssignment_111458);
            ruleQualifiedNameWithWildCard();
            _fsp--;

             after(grammarAccess.getImportNamespaceAccess().getImportedNamespaceQualifiedNameWithWildCardParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ImportNamespace__ImportedNamespaceAssignment_1


    // $ANTLR start rule__EvolutionModel__NameAssignment_2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5753:1: rule__EvolutionModel__NameAssignment_2 : ( RULE_ID ) ;
    public final void rule__EvolutionModel__NameAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5757:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5758:1: ( RULE_ID )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5758:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5759:1: RULE_ID
            {
             before(grammarAccess.getEvolutionModelAccess().getNameIDTerminalRuleCall_2_0()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__EvolutionModel__NameAssignment_211489); 
             after(grammarAccess.getEvolutionModelAccess().getNameIDTerminalRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__NameAssignment_2


    // $ANTLR start rule__EvolutionModel__TextAssignment_3_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5768:1: rule__EvolutionModel__TextAssignment_3_1 : ( RULE_STRING ) ;
    public final void rule__EvolutionModel__TextAssignment_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5772:1: ( ( RULE_STRING ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5773:1: ( RULE_STRING )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5773:1: ( RULE_STRING )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5774:1: RULE_STRING
            {
             before(grammarAccess.getEvolutionModelAccess().getTextSTRINGTerminalRuleCall_3_1_0()); 
            match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_rule__EvolutionModel__TextAssignment_3_111520); 
             after(grammarAccess.getEvolutionModelAccess().getTextSTRINGTerminalRuleCall_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__TextAssignment_3_1


    // $ANTLR start rule__EvolutionModel__ModelAssignment_5
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5783:1: rule__EvolutionModel__ModelAssignment_5 : ( ( RULE_ID ) ) ;
    public final void rule__EvolutionModel__ModelAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5787:1: ( ( ( RULE_ID ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5788:1: ( ( RULE_ID ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5788:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5789:1: ( RULE_ID )
            {
             before(grammarAccess.getEvolutionModelAccess().getModelModelCrossReference_5_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5790:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5791:1: RULE_ID
            {
             before(grammarAccess.getEvolutionModelAccess().getModelModelIDTerminalRuleCall_5_0_1()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__EvolutionModel__ModelAssignment_511555); 
             after(grammarAccess.getEvolutionModelAccess().getModelModelIDTerminalRuleCall_5_0_1()); 

            }

             after(grammarAccess.getEvolutionModelAccess().getModelModelCrossReference_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__ModelAssignment_5


    // $ANTLR start rule__EvolutionModel__ChildrenAssignment_7
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5802:1: rule__EvolutionModel__ChildrenAssignment_7 : ( ruleEvolutionRule ) ;
    public final void rule__EvolutionModel__ChildrenAssignment_7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5806:1: ( ( ruleEvolutionRule ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5807:1: ( ruleEvolutionRule )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5807:1: ( ruleEvolutionRule )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5808:1: ruleEvolutionRule
            {
             before(grammarAccess.getEvolutionModelAccess().getChildrenEvolutionRuleParserRuleCall_7_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleEvolutionRule_in_rule__EvolutionModel__ChildrenAssignment_711590);
            ruleEvolutionRule();
            _fsp--;

             after(grammarAccess.getEvolutionModelAccess().getChildrenEvolutionRuleParserRuleCall_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionModel__ChildrenAssignment_7


    // $ANTLR start rule__EvolutionRule__NameAssignment_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5817:1: rule__EvolutionRule__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__EvolutionRule__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5821:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5822:1: ( RULE_ID )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5822:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5823:1: RULE_ID
            {
             before(grammarAccess.getEvolutionRuleAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__EvolutionRule__NameAssignment_111621); 
             after(grammarAccess.getEvolutionRuleAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__NameAssignment_1


    // $ANTLR start rule__EvolutionRule__TextAssignment_2_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5832:1: rule__EvolutionRule__TextAssignment_2_1 : ( RULE_STRING ) ;
    public final void rule__EvolutionRule__TextAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5836:1: ( ( RULE_STRING ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5837:1: ( RULE_STRING )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5837:1: ( RULE_STRING )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5838:1: RULE_STRING
            {
             before(grammarAccess.getEvolutionRuleAccess().getTextSTRINGTerminalRuleCall_2_1_0()); 
            match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_rule__EvolutionRule__TextAssignment_2_111652); 
             after(grammarAccess.getEvolutionRuleAccess().getTextSTRINGTerminalRuleCall_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__TextAssignment_2_1


    // $ANTLR start rule__EvolutionRule__OriginalAssignment_4
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5847:1: rule__EvolutionRule__OriginalAssignment_4 : ( ( ruleQualifiedName ) ) ;
    public final void rule__EvolutionRule__OriginalAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5851:1: ( ( ( ruleQualifiedName ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5852:1: ( ( ruleQualifiedName ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5852:1: ( ( ruleQualifiedName ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5853:1: ( ruleQualifiedName )
            {
             before(grammarAccess.getEvolutionRuleAccess().getOriginalModelCrossReference_4_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5854:1: ( ruleQualifiedName )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5855:1: ruleQualifiedName
            {
             before(grammarAccess.getEvolutionRuleAccess().getOriginalModelQualifiedNameParserRuleCall_4_0_1()); 
            pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_rule__EvolutionRule__OriginalAssignment_411687);
            ruleQualifiedName();
            _fsp--;

             after(grammarAccess.getEvolutionRuleAccess().getOriginalModelQualifiedNameParserRuleCall_4_0_1()); 

            }

             after(grammarAccess.getEvolutionRuleAccess().getOriginalModelCrossReference_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__OriginalAssignment_4


    // $ANTLR start rule__EvolutionRule__ImportsAssignment_6
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5866:1: rule__EvolutionRule__ImportsAssignment_6 : ( ruleImportNamespace ) ;
    public final void rule__EvolutionRule__ImportsAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5870:1: ( ( ruleImportNamespace ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5871:1: ( ruleImportNamespace )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5871:1: ( ruleImportNamespace )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5872:1: ruleImportNamespace
            {
             before(grammarAccess.getEvolutionRuleAccess().getImportsImportNamespaceParserRuleCall_6_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleImportNamespace_in_rule__EvolutionRule__ImportsAssignment_611722);
            ruleImportNamespace();
            _fsp--;

             after(grammarAccess.getEvolutionRuleAccess().getImportsImportNamespaceParserRuleCall_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__ImportsAssignment_6


    // $ANTLR start rule__EvolutionRule__ChildrenAssignment_7
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5881:1: rule__EvolutionRule__ChildrenAssignment_7 : ( ruleEvolutionBranch ) ;
    public final void rule__EvolutionRule__ChildrenAssignment_7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5885:1: ( ( ruleEvolutionBranch ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5886:1: ( ruleEvolutionBranch )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5886:1: ( ruleEvolutionBranch )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5887:1: ruleEvolutionBranch
            {
             before(grammarAccess.getEvolutionRuleAccess().getChildrenEvolutionBranchParserRuleCall_7_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleEvolutionBranch_in_rule__EvolutionRule__ChildrenAssignment_711753);
            ruleEvolutionBranch();
            _fsp--;

             after(grammarAccess.getEvolutionRuleAccess().getChildrenEvolutionBranchParserRuleCall_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRule__ChildrenAssignment_7


    // $ANTLR start rule__EvolutionBranch__NameAssignment_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5896:1: rule__EvolutionBranch__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__EvolutionBranch__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5900:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5901:1: ( RULE_ID )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5901:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5902:1: RULE_ID
            {
             before(grammarAccess.getEvolutionBranchAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__EvolutionBranch__NameAssignment_111784); 
             after(grammarAccess.getEvolutionBranchAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionBranch__NameAssignment_1


    // $ANTLR start rule__EvolutionBranch__ProbabilityAssignment_3
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5911:1: rule__EvolutionBranch__ProbabilityAssignment_3 : ( RULE_INT ) ;
    public final void rule__EvolutionBranch__ProbabilityAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5915:1: ( ( RULE_INT ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5916:1: ( RULE_INT )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5916:1: ( RULE_INT )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5917:1: RULE_INT
            {
             before(grammarAccess.getEvolutionBranchAccess().getProbabilityINTTerminalRuleCall_3_0()); 
            match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__EvolutionBranch__ProbabilityAssignment_311815); 
             after(grammarAccess.getEvolutionBranchAccess().getProbabilityINTTerminalRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionBranch__ProbabilityAssignment_3


    // $ANTLR start rule__EvolutionBranch__ChildrenAssignment_5
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5926:1: rule__EvolutionBranch__ChildrenAssignment_5 : ( ruleEvolutionOperation ) ;
    public final void rule__EvolutionBranch__ChildrenAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5930:1: ( ( ruleEvolutionOperation ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5931:1: ( ruleEvolutionOperation )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5931:1: ( ruleEvolutionOperation )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5932:1: ruleEvolutionOperation
            {
             before(grammarAccess.getEvolutionBranchAccess().getChildrenEvolutionOperationParserRuleCall_5_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleEvolutionOperation_in_rule__EvolutionBranch__ChildrenAssignment_511846);
            ruleEvolutionOperation();
            _fsp--;

             after(grammarAccess.getEvolutionBranchAccess().getChildrenEvolutionOperationParserRuleCall_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionBranch__ChildrenAssignment_5


    // $ANTLR start rule__EvolutionAddOperation__ChildrenAssignment_1_0_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5941:1: rule__EvolutionAddOperation__ChildrenAssignment_1_0_1 : ( ruleActorDeclaration ) ;
    public final void rule__EvolutionAddOperation__ChildrenAssignment_1_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5945:1: ( ( ruleActorDeclaration ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5946:1: ( ruleActorDeclaration )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5946:1: ( ruleActorDeclaration )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5947:1: ruleActorDeclaration
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getChildrenActorDeclarationParserRuleCall_1_0_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleActorDeclaration_in_rule__EvolutionAddOperation__ChildrenAssignment_1_0_111877);
            ruleActorDeclaration();
            _fsp--;

             after(grammarAccess.getEvolutionAddOperationAccess().getChildrenActorDeclarationParserRuleCall_1_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__ChildrenAssignment_1_0_1


    // $ANTLR start rule__EvolutionAddOperation__ChildrenAssignment_1_0_2_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5956:1: rule__EvolutionAddOperation__ChildrenAssignment_1_0_2_1 : ( ruleActorDeclaration ) ;
    public final void rule__EvolutionAddOperation__ChildrenAssignment_1_0_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5960:1: ( ( ruleActorDeclaration ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5961:1: ( ruleActorDeclaration )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5961:1: ( ruleActorDeclaration )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5962:1: ruleActorDeclaration
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getChildrenActorDeclarationParserRuleCall_1_0_2_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleActorDeclaration_in_rule__EvolutionAddOperation__ChildrenAssignment_1_0_2_111908);
            ruleActorDeclaration();
            _fsp--;

             after(grammarAccess.getEvolutionAddOperationAccess().getChildrenActorDeclarationParserRuleCall_1_0_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__ChildrenAssignment_1_0_2_1


    // $ANTLR start rule__EvolutionAddOperation__ChildrenAssignment_1_1_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5971:1: rule__EvolutionAddOperation__ChildrenAssignment_1_1_1 : ( ruleGoalDeclaration ) ;
    public final void rule__EvolutionAddOperation__ChildrenAssignment_1_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5975:1: ( ( ruleGoalDeclaration ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5976:1: ( ruleGoalDeclaration )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5976:1: ( ruleGoalDeclaration )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5977:1: ruleGoalDeclaration
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getChildrenGoalDeclarationParserRuleCall_1_1_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleGoalDeclaration_in_rule__EvolutionAddOperation__ChildrenAssignment_1_1_111939);
            ruleGoalDeclaration();
            _fsp--;

             after(grammarAccess.getEvolutionAddOperationAccess().getChildrenGoalDeclarationParserRuleCall_1_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__ChildrenAssignment_1_1_1


    // $ANTLR start rule__EvolutionAddOperation__ChildrenAssignment_1_1_2_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5986:1: rule__EvolutionAddOperation__ChildrenAssignment_1_1_2_1 : ( ruleGoalDeclaration ) ;
    public final void rule__EvolutionAddOperation__ChildrenAssignment_1_1_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5990:1: ( ( ruleGoalDeclaration ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5991:1: ( ruleGoalDeclaration )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5991:1: ( ruleGoalDeclaration )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:5992:1: ruleGoalDeclaration
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getChildrenGoalDeclarationParserRuleCall_1_1_2_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleGoalDeclaration_in_rule__EvolutionAddOperation__ChildrenAssignment_1_1_2_111970);
            ruleGoalDeclaration();
            _fsp--;

             after(grammarAccess.getEvolutionAddOperationAccess().getChildrenGoalDeclarationParserRuleCall_1_1_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__ChildrenAssignment_1_1_2_1


    // $ANTLR start rule__EvolutionAddOperation__ChildrenAssignment_1_2_0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6001:1: rule__EvolutionAddOperation__ChildrenAssignment_1_2_0 : ( ruleRelationDeclaration ) ;
    public final void rule__EvolutionAddOperation__ChildrenAssignment_1_2_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6005:1: ( ( ruleRelationDeclaration ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6006:1: ( ruleRelationDeclaration )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6006:1: ( ruleRelationDeclaration )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6007:1: ruleRelationDeclaration
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getChildrenRelationDeclarationParserRuleCall_1_2_0_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleRelationDeclaration_in_rule__EvolutionAddOperation__ChildrenAssignment_1_2_012001);
            ruleRelationDeclaration();
            _fsp--;

             after(grammarAccess.getEvolutionAddOperationAccess().getChildrenRelationDeclarationParserRuleCall_1_2_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__ChildrenAssignment_1_2_0


    // $ANTLR start rule__EvolutionAddOperation__ChildrenAssignment_1_2_1_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6016:1: rule__EvolutionAddOperation__ChildrenAssignment_1_2_1_1 : ( ruleRelationDeclaration ) ;
    public final void rule__EvolutionAddOperation__ChildrenAssignment_1_2_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6020:1: ( ( ruleRelationDeclaration ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6021:1: ( ruleRelationDeclaration )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6021:1: ( ruleRelationDeclaration )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6022:1: ruleRelationDeclaration
            {
             before(grammarAccess.getEvolutionAddOperationAccess().getChildrenRelationDeclarationParserRuleCall_1_2_1_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleRelationDeclaration_in_rule__EvolutionAddOperation__ChildrenAssignment_1_2_1_112032);
            ruleRelationDeclaration();
            _fsp--;

             after(grammarAccess.getEvolutionAddOperationAccess().getChildrenRelationDeclarationParserRuleCall_1_2_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionAddOperation__ChildrenAssignment_1_2_1_1


    // $ANTLR start rule__EvolutionRemoveOperation__EntityAssignment_1_0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6031:1: rule__EvolutionRemoveOperation__EntityAssignment_1_0 : ( ( ruleQualifiedName ) ) ;
    public final void rule__EvolutionRemoveOperation__EntityAssignment_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6035:1: ( ( ( ruleQualifiedName ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6036:1: ( ( ruleQualifiedName ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6036:1: ( ( ruleQualifiedName ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6037:1: ( ruleQualifiedName )
            {
             before(grammarAccess.getEvolutionRemoveOperationAccess().getEntityEntityCrossReference_1_0_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6038:1: ( ruleQualifiedName )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6039:1: ruleQualifiedName
            {
             before(grammarAccess.getEvolutionRemoveOperationAccess().getEntityEntityQualifiedNameParserRuleCall_1_0_0_1()); 
            pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_rule__EvolutionRemoveOperation__EntityAssignment_1_012067);
            ruleQualifiedName();
            _fsp--;

             after(grammarAccess.getEvolutionRemoveOperationAccess().getEntityEntityQualifiedNameParserRuleCall_1_0_0_1()); 

            }

             after(grammarAccess.getEvolutionRemoveOperationAccess().getEntityEntityCrossReference_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRemoveOperation__EntityAssignment_1_0


    // $ANTLR start rule__EvolutionRemoveOperation__ChildrenAssignment_1_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6050:1: rule__EvolutionRemoveOperation__ChildrenAssignment_1_1 : ( ruleRelationDeclaration ) ;
    public final void rule__EvolutionRemoveOperation__ChildrenAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6054:1: ( ( ruleRelationDeclaration ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6055:1: ( ruleRelationDeclaration )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6055:1: ( ruleRelationDeclaration )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6056:1: ruleRelationDeclaration
            {
             before(grammarAccess.getEvolutionRemoveOperationAccess().getChildrenRelationDeclarationParserRuleCall_1_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleRelationDeclaration_in_rule__EvolutionRemoveOperation__ChildrenAssignment_1_112102);
            ruleRelationDeclaration();
            _fsp--;

             after(grammarAccess.getEvolutionRemoveOperationAccess().getChildrenRelationDeclarationParserRuleCall_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRemoveOperation__ChildrenAssignment_1_1


    // $ANTLR start rule__EvolutionRemoveOperation__EntityAssignment_2_1_0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6065:1: rule__EvolutionRemoveOperation__EntityAssignment_2_1_0 : ( ( ruleQualifiedName ) ) ;
    public final void rule__EvolutionRemoveOperation__EntityAssignment_2_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6069:1: ( ( ( ruleQualifiedName ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6070:1: ( ( ruleQualifiedName ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6070:1: ( ( ruleQualifiedName ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6071:1: ( ruleQualifiedName )
            {
             before(grammarAccess.getEvolutionRemoveOperationAccess().getEntityEntityCrossReference_2_1_0_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6072:1: ( ruleQualifiedName )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6073:1: ruleQualifiedName
            {
             before(grammarAccess.getEvolutionRemoveOperationAccess().getEntityEntityQualifiedNameParserRuleCall_2_1_0_0_1()); 
            pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_rule__EvolutionRemoveOperation__EntityAssignment_2_1_012137);
            ruleQualifiedName();
            _fsp--;

             after(grammarAccess.getEvolutionRemoveOperationAccess().getEntityEntityQualifiedNameParserRuleCall_2_1_0_0_1()); 

            }

             after(grammarAccess.getEvolutionRemoveOperationAccess().getEntityEntityCrossReference_2_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRemoveOperation__EntityAssignment_2_1_0


    // $ANTLR start rule__EvolutionRemoveOperation__ChildrenAssignment_2_1_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6084:1: rule__EvolutionRemoveOperation__ChildrenAssignment_2_1_1 : ( ruleRelationDeclaration ) ;
    public final void rule__EvolutionRemoveOperation__ChildrenAssignment_2_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6088:1: ( ( ruleRelationDeclaration ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6089:1: ( ruleRelationDeclaration )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6089:1: ( ruleRelationDeclaration )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6090:1: ruleRelationDeclaration
            {
             before(grammarAccess.getEvolutionRemoveOperationAccess().getChildrenRelationDeclarationParserRuleCall_2_1_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleRelationDeclaration_in_rule__EvolutionRemoveOperation__ChildrenAssignment_2_1_112172);
            ruleRelationDeclaration();
            _fsp--;

             after(grammarAccess.getEvolutionRemoveOperationAccess().getChildrenRelationDeclarationParserRuleCall_2_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EvolutionRemoveOperation__ChildrenAssignment_2_1_1


    // $ANTLR start rule__SubModel__NameAssignment_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6099:1: rule__SubModel__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__SubModel__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6103:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6104:1: ( RULE_ID )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6104:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6105:1: RULE_ID
            {
             before(grammarAccess.getSubModelAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__SubModel__NameAssignment_112203); 
             after(grammarAccess.getSubModelAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__NameAssignment_1


    // $ANTLR start rule__SubModel__TextAssignment_2_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6114:1: rule__SubModel__TextAssignment_2_1 : ( RULE_STRING ) ;
    public final void rule__SubModel__TextAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6118:1: ( ( RULE_STRING ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6119:1: ( RULE_STRING )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6119:1: ( RULE_STRING )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6120:1: RULE_STRING
            {
             before(grammarAccess.getSubModelAccess().getTextSTRINGTerminalRuleCall_2_1_0()); 
            match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_rule__SubModel__TextAssignment_2_112234); 
             after(grammarAccess.getSubModelAccess().getTextSTRINGTerminalRuleCall_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__TextAssignment_2_1


    // $ANTLR start rule__SubModel__ParentAssignment_4
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6129:1: rule__SubModel__ParentAssignment_4 : ( ( RULE_ID ) ) ;
    public final void rule__SubModel__ParentAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6133:1: ( ( ( RULE_ID ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6134:1: ( ( RULE_ID ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6134:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6135:1: ( RULE_ID )
            {
             before(grammarAccess.getSubModelAccess().getParentModelCrossReference_4_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6136:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6137:1: RULE_ID
            {
             before(grammarAccess.getSubModelAccess().getParentModelIDTerminalRuleCall_4_0_1()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__SubModel__ParentAssignment_412269); 
             after(grammarAccess.getSubModelAccess().getParentModelIDTerminalRuleCall_4_0_1()); 

            }

             after(grammarAccess.getSubModelAccess().getParentModelCrossReference_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__ParentAssignment_4


    // $ANTLR start rule__SubModel__ImportsAssignment_6
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6148:1: rule__SubModel__ImportsAssignment_6 : ( ruleImportNamespace ) ;
    public final void rule__SubModel__ImportsAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6152:1: ( ( ruleImportNamespace ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6153:1: ( ruleImportNamespace )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6153:1: ( ruleImportNamespace )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6154:1: ruleImportNamespace
            {
             before(grammarAccess.getSubModelAccess().getImportsImportNamespaceParserRuleCall_6_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleImportNamespace_in_rule__SubModel__ImportsAssignment_612304);
            ruleImportNamespace();
            _fsp--;

             after(grammarAccess.getSubModelAccess().getImportsImportNamespaceParserRuleCall_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__ImportsAssignment_6


    // $ANTLR start rule__SubModel__ChildrenAssignment_7_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6163:1: rule__SubModel__ChildrenAssignment_7_1 : ( ruleSubModelInclusion ) ;
    public final void rule__SubModel__ChildrenAssignment_7_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6167:1: ( ( ruleSubModelInclusion ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6168:1: ( ruleSubModelInclusion )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6168:1: ( ruleSubModelInclusion )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6169:1: ruleSubModelInclusion
            {
             before(grammarAccess.getSubModelAccess().getChildrenSubModelInclusionParserRuleCall_7_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleSubModelInclusion_in_rule__SubModel__ChildrenAssignment_7_112335);
            ruleSubModelInclusion();
            _fsp--;

             after(grammarAccess.getSubModelAccess().getChildrenSubModelInclusionParserRuleCall_7_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__ChildrenAssignment_7_1


    // $ANTLR start rule__SubModel__ChildrenAssignment_7_2_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6178:1: rule__SubModel__ChildrenAssignment_7_2_1 : ( ruleSubModelInclusion ) ;
    public final void rule__SubModel__ChildrenAssignment_7_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6182:1: ( ( ruleSubModelInclusion ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6183:1: ( ruleSubModelInclusion )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6183:1: ( ruleSubModelInclusion )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6184:1: ruleSubModelInclusion
            {
             before(grammarAccess.getSubModelAccess().getChildrenSubModelInclusionParserRuleCall_7_2_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleSubModelInclusion_in_rule__SubModel__ChildrenAssignment_7_2_112366);
            ruleSubModelInclusion();
            _fsp--;

             after(grammarAccess.getSubModelAccess().getChildrenSubModelInclusionParserRuleCall_7_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModel__ChildrenAssignment_7_2_1


    // $ANTLR start rule__SubModelInclusion__ElementAssignment_0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6193:1: rule__SubModelInclusion__ElementAssignment_0 : ( ( ruleQualifiedName ) ) ;
    public final void rule__SubModelInclusion__ElementAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6197:1: ( ( ( ruleQualifiedName ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6198:1: ( ( ruleQualifiedName ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6198:1: ( ( ruleQualifiedName ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6199:1: ( ruleQualifiedName )
            {
             before(grammarAccess.getSubModelInclusionAccess().getElementEntityCrossReference_0_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6200:1: ( ruleQualifiedName )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6201:1: ruleQualifiedName
            {
             before(grammarAccess.getSubModelInclusionAccess().getElementEntityQualifiedNameParserRuleCall_0_0_1()); 
            pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_rule__SubModelInclusion__ElementAssignment_012401);
            ruleQualifiedName();
            _fsp--;

             after(grammarAccess.getSubModelInclusionAccess().getElementEntityQualifiedNameParserRuleCall_0_0_1()); 

            }

             after(grammarAccess.getSubModelInclusionAccess().getElementEntityCrossReference_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModelInclusion__ElementAssignment_0


    // $ANTLR start rule__SubModelInclusion__ClosureAssignment_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6212:1: rule__SubModelInclusion__ClosureAssignment_1 : ( ( rule__SubModelInclusion__ClosureAlternatives_1_0 ) ) ;
    public final void rule__SubModelInclusion__ClosureAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6216:1: ( ( ( rule__SubModelInclusion__ClosureAlternatives_1_0 ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6217:1: ( ( rule__SubModelInclusion__ClosureAlternatives_1_0 ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6217:1: ( ( rule__SubModelInclusion__ClosureAlternatives_1_0 ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6218:1: ( rule__SubModelInclusion__ClosureAlternatives_1_0 )
            {
             before(grammarAccess.getSubModelInclusionAccess().getClosureAlternatives_1_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6219:1: ( rule__SubModelInclusion__ClosureAlternatives_1_0 )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6219:2: rule__SubModelInclusion__ClosureAlternatives_1_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__SubModelInclusion__ClosureAlternatives_1_0_in_rule__SubModelInclusion__ClosureAssignment_112436);
            rule__SubModelInclusion__ClosureAlternatives_1_0();
            _fsp--;


            }

             after(grammarAccess.getSubModelInclusionAccess().getClosureAlternatives_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SubModelInclusion__ClosureAssignment_1


    // $ANTLR start rule__FullModel__NameAssignment_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6228:1: rule__FullModel__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__FullModel__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6232:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6233:1: ( RULE_ID )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6233:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6234:1: RULE_ID
            {
             before(grammarAccess.getFullModelAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__FullModel__NameAssignment_112469); 
             after(grammarAccess.getFullModelAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__NameAssignment_1


    // $ANTLR start rule__FullModel__TextAssignment_2_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6243:1: rule__FullModel__TextAssignment_2_1 : ( RULE_STRING ) ;
    public final void rule__FullModel__TextAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6247:1: ( ( RULE_STRING ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6248:1: ( RULE_STRING )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6248:1: ( RULE_STRING )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6249:1: RULE_STRING
            {
             before(grammarAccess.getFullModelAccess().getTextSTRINGTerminalRuleCall_2_1_0()); 
            match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_rule__FullModel__TextAssignment_2_112500); 
             after(grammarAccess.getFullModelAccess().getTextSTRINGTerminalRuleCall_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__TextAssignment_2_1


    // $ANTLR start rule__FullModel__ChildrenAssignment_4_0_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6258:1: rule__FullModel__ChildrenAssignment_4_0_1 : ( ruleActorDeclaration ) ;
    public final void rule__FullModel__ChildrenAssignment_4_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6262:1: ( ( ruleActorDeclaration ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6263:1: ( ruleActorDeclaration )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6263:1: ( ruleActorDeclaration )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6264:1: ruleActorDeclaration
            {
             before(grammarAccess.getFullModelAccess().getChildrenActorDeclarationParserRuleCall_4_0_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleActorDeclaration_in_rule__FullModel__ChildrenAssignment_4_0_112531);
            ruleActorDeclaration();
            _fsp--;

             after(grammarAccess.getFullModelAccess().getChildrenActorDeclarationParserRuleCall_4_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__ChildrenAssignment_4_0_1


    // $ANTLR start rule__FullModel__ChildrenAssignment_4_0_2_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6273:1: rule__FullModel__ChildrenAssignment_4_0_2_1 : ( ruleActorDeclaration ) ;
    public final void rule__FullModel__ChildrenAssignment_4_0_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6277:1: ( ( ruleActorDeclaration ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6278:1: ( ruleActorDeclaration )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6278:1: ( ruleActorDeclaration )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6279:1: ruleActorDeclaration
            {
             before(grammarAccess.getFullModelAccess().getChildrenActorDeclarationParserRuleCall_4_0_2_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleActorDeclaration_in_rule__FullModel__ChildrenAssignment_4_0_2_112562);
            ruleActorDeclaration();
            _fsp--;

             after(grammarAccess.getFullModelAccess().getChildrenActorDeclarationParserRuleCall_4_0_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__ChildrenAssignment_4_0_2_1


    // $ANTLR start rule__FullModel__ChildrenAssignment_4_1_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6288:1: rule__FullModel__ChildrenAssignment_4_1_1 : ( ruleGoalDeclaration ) ;
    public final void rule__FullModel__ChildrenAssignment_4_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6292:1: ( ( ruleGoalDeclaration ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6293:1: ( ruleGoalDeclaration )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6293:1: ( ruleGoalDeclaration )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6294:1: ruleGoalDeclaration
            {
             before(grammarAccess.getFullModelAccess().getChildrenGoalDeclarationParserRuleCall_4_1_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleGoalDeclaration_in_rule__FullModel__ChildrenAssignment_4_1_112593);
            ruleGoalDeclaration();
            _fsp--;

             after(grammarAccess.getFullModelAccess().getChildrenGoalDeclarationParserRuleCall_4_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__ChildrenAssignment_4_1_1


    // $ANTLR start rule__FullModel__ChildrenAssignment_4_1_2_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6303:1: rule__FullModel__ChildrenAssignment_4_1_2_1 : ( ruleGoalDeclaration ) ;
    public final void rule__FullModel__ChildrenAssignment_4_1_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6307:1: ( ( ruleGoalDeclaration ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6308:1: ( ruleGoalDeclaration )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6308:1: ( ruleGoalDeclaration )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6309:1: ruleGoalDeclaration
            {
             before(grammarAccess.getFullModelAccess().getChildrenGoalDeclarationParserRuleCall_4_1_2_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleGoalDeclaration_in_rule__FullModel__ChildrenAssignment_4_1_2_112624);
            ruleGoalDeclaration();
            _fsp--;

             after(grammarAccess.getFullModelAccess().getChildrenGoalDeclarationParserRuleCall_4_1_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__ChildrenAssignment_4_1_2_1


    // $ANTLR start rule__FullModel__ChildrenAssignment_4_2_0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6318:1: rule__FullModel__ChildrenAssignment_4_2_0 : ( ruleRelationDeclaration ) ;
    public final void rule__FullModel__ChildrenAssignment_4_2_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6322:1: ( ( ruleRelationDeclaration ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6323:1: ( ruleRelationDeclaration )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6323:1: ( ruleRelationDeclaration )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6324:1: ruleRelationDeclaration
            {
             before(grammarAccess.getFullModelAccess().getChildrenRelationDeclarationParserRuleCall_4_2_0_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleRelationDeclaration_in_rule__FullModel__ChildrenAssignment_4_2_012655);
            ruleRelationDeclaration();
            _fsp--;

             after(grammarAccess.getFullModelAccess().getChildrenRelationDeclarationParserRuleCall_4_2_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FullModel__ChildrenAssignment_4_2_0


    // $ANTLR start rule__GoalDeclaration__NameAssignment_0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6333:1: rule__GoalDeclaration__NameAssignment_0 : ( RULE_ID ) ;
    public final void rule__GoalDeclaration__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6337:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6338:1: ( RULE_ID )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6338:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6339:1: RULE_ID
            {
             before(grammarAccess.getGoalDeclarationAccess().getNameIDTerminalRuleCall_0_0()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__GoalDeclaration__NameAssignment_012686); 
             after(grammarAccess.getGoalDeclarationAccess().getNameIDTerminalRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__NameAssignment_0


    // $ANTLR start rule__GoalDeclaration__TextAssignment_1_0_2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6348:1: rule__GoalDeclaration__TextAssignment_1_0_2 : ( RULE_STRING ) ;
    public final void rule__GoalDeclaration__TextAssignment_1_0_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6352:1: ( ( RULE_STRING ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6353:1: ( RULE_STRING )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6353:1: ( RULE_STRING )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6354:1: RULE_STRING
            {
             before(grammarAccess.getGoalDeclarationAccess().getTextSTRINGTerminalRuleCall_1_0_2_0()); 
            match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_rule__GoalDeclaration__TextAssignment_1_0_212717); 
             after(grammarAccess.getGoalDeclarationAccess().getTextSTRINGTerminalRuleCall_1_0_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__TextAssignment_1_0_2


    // $ANTLR start rule__GoalDeclaration__TextAssignment_1_1_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6363:1: rule__GoalDeclaration__TextAssignment_1_1_1 : ( RULE_STRING ) ;
    public final void rule__GoalDeclaration__TextAssignment_1_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6367:1: ( ( RULE_STRING ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6368:1: ( RULE_STRING )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6368:1: ( RULE_STRING )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6369:1: RULE_STRING
            {
             before(grammarAccess.getGoalDeclarationAccess().getTextSTRINGTerminalRuleCall_1_1_1_0()); 
            match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_rule__GoalDeclaration__TextAssignment_1_1_112748); 
             after(grammarAccess.getGoalDeclarationAccess().getTextSTRINGTerminalRuleCall_1_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GoalDeclaration__TextAssignment_1_1_1


    // $ANTLR start rule__ActorDeclaration__NameAssignment_0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6378:1: rule__ActorDeclaration__NameAssignment_0 : ( RULE_ID ) ;
    public final void rule__ActorDeclaration__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6382:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6383:1: ( RULE_ID )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6383:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6384:1: RULE_ID
            {
             before(grammarAccess.getActorDeclarationAccess().getNameIDTerminalRuleCall_0_0()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__ActorDeclaration__NameAssignment_012779); 
             after(grammarAccess.getActorDeclarationAccess().getNameIDTerminalRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ActorDeclaration__NameAssignment_0


    // $ANTLR start rule__ActorDeclaration__TextAssignment_1_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6393:1: rule__ActorDeclaration__TextAssignment_1_1 : ( RULE_STRING ) ;
    public final void rule__ActorDeclaration__TextAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6397:1: ( ( RULE_STRING ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6398:1: ( RULE_STRING )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6398:1: ( RULE_STRING )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6399:1: RULE_STRING
            {
             before(grammarAccess.getActorDeclarationAccess().getTextSTRINGTerminalRuleCall_1_1_0()); 
            match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_rule__ActorDeclaration__TextAssignment_1_112810); 
             after(grammarAccess.getActorDeclarationAccess().getTextSTRINGTerminalRuleCall_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ActorDeclaration__TextAssignment_1_1


    // $ANTLR start rule__Decomposition__NameAssignment_0_0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6408:1: rule__Decomposition__NameAssignment_0_0 : ( RULE_ID ) ;
    public final void rule__Decomposition__NameAssignment_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6412:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6413:1: ( RULE_ID )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6413:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6414:1: RULE_ID
            {
             before(grammarAccess.getDecompositionAccess().getNameIDTerminalRuleCall_0_0_0()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__Decomposition__NameAssignment_0_012841); 
             after(grammarAccess.getDecompositionAccess().getNameIDTerminalRuleCall_0_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__NameAssignment_0_0


    // $ANTLR start rule__Decomposition__SourceAssignment_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6423:1: rule__Decomposition__SourceAssignment_1 : ( ( RULE_ID ) ) ;
    public final void rule__Decomposition__SourceAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6427:1: ( ( ( RULE_ID ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6428:1: ( ( RULE_ID ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6428:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6429:1: ( RULE_ID )
            {
             before(grammarAccess.getDecompositionAccess().getSourceGoalCrossReference_1_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6430:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6431:1: RULE_ID
            {
             before(grammarAccess.getDecompositionAccess().getSourceGoalIDTerminalRuleCall_1_0_1()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__Decomposition__SourceAssignment_112876); 
             after(grammarAccess.getDecompositionAccess().getSourceGoalIDTerminalRuleCall_1_0_1()); 

            }

             after(grammarAccess.getDecompositionAccess().getSourceGoalCrossReference_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__SourceAssignment_1


    // $ANTLR start rule__Decomposition__RelTypeAssignment_2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6442:1: rule__Decomposition__RelTypeAssignment_2 : ( ruleDECOMPOSE ) ;
    public final void rule__Decomposition__RelTypeAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6446:1: ( ( ruleDECOMPOSE ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6447:1: ( ruleDECOMPOSE )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6447:1: ( ruleDECOMPOSE )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6448:1: ruleDECOMPOSE
            {
             before(grammarAccess.getDecompositionAccess().getRelTypeDECOMPOSEEnumRuleCall_2_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleDECOMPOSE_in_rule__Decomposition__RelTypeAssignment_212911);
            ruleDECOMPOSE();
            _fsp--;

             after(grammarAccess.getDecompositionAccess().getRelTypeDECOMPOSEEnumRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__RelTypeAssignment_2


    // $ANTLR start rule__Decomposition__TargetAssignment_3
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6457:1: rule__Decomposition__TargetAssignment_3 : ( ( RULE_ID ) ) ;
    public final void rule__Decomposition__TargetAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6461:1: ( ( ( RULE_ID ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6462:1: ( ( RULE_ID ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6462:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6463:1: ( RULE_ID )
            {
             before(grammarAccess.getDecompositionAccess().getTargetGoalCrossReference_3_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6464:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6465:1: RULE_ID
            {
             before(grammarAccess.getDecompositionAccess().getTargetGoalIDTerminalRuleCall_3_0_1()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__Decomposition__TargetAssignment_312946); 
             after(grammarAccess.getDecompositionAccess().getTargetGoalIDTerminalRuleCall_3_0_1()); 

            }

             after(grammarAccess.getDecompositionAccess().getTargetGoalCrossReference_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__TargetAssignment_3


    // $ANTLR start rule__Decomposition__TargetAssignment_4_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6476:1: rule__Decomposition__TargetAssignment_4_1 : ( ( RULE_ID ) ) ;
    public final void rule__Decomposition__TargetAssignment_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6480:1: ( ( ( RULE_ID ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6481:1: ( ( RULE_ID ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6481:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6482:1: ( RULE_ID )
            {
             before(grammarAccess.getDecompositionAccess().getTargetGoalCrossReference_4_1_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6483:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6484:1: RULE_ID
            {
             before(grammarAccess.getDecompositionAccess().getTargetGoalIDTerminalRuleCall_4_1_0_1()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__Decomposition__TargetAssignment_4_112985); 
             after(grammarAccess.getDecompositionAccess().getTargetGoalIDTerminalRuleCall_4_1_0_1()); 

            }

             after(grammarAccess.getDecompositionAccess().getTargetGoalCrossReference_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Decomposition__TargetAssignment_4_1


    // $ANTLR start rule__OwnRelation__NameAssignment_0_0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6495:1: rule__OwnRelation__NameAssignment_0_0 : ( RULE_ID ) ;
    public final void rule__OwnRelation__NameAssignment_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6499:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6500:1: ( RULE_ID )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6500:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6501:1: RULE_ID
            {
             before(grammarAccess.getOwnRelationAccess().getNameIDTerminalRuleCall_0_0_0()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__OwnRelation__NameAssignment_0_013020); 
             after(grammarAccess.getOwnRelationAccess().getNameIDTerminalRuleCall_0_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__NameAssignment_0_0


    // $ANTLR start rule__OwnRelation__SourceAssignment_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6510:1: rule__OwnRelation__SourceAssignment_1 : ( ( RULE_ID ) ) ;
    public final void rule__OwnRelation__SourceAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6514:1: ( ( ( RULE_ID ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6515:1: ( ( RULE_ID ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6515:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6516:1: ( RULE_ID )
            {
             before(grammarAccess.getOwnRelationAccess().getSourceActorCrossReference_1_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6517:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6518:1: RULE_ID
            {
             before(grammarAccess.getOwnRelationAccess().getSourceActorIDTerminalRuleCall_1_0_1()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__OwnRelation__SourceAssignment_113055); 
             after(grammarAccess.getOwnRelationAccess().getSourceActorIDTerminalRuleCall_1_0_1()); 

            }

             after(grammarAccess.getOwnRelationAccess().getSourceActorCrossReference_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__SourceAssignment_1


    // $ANTLR start rule__OwnRelation__RelTypeAssignment_2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6529:1: rule__OwnRelation__RelTypeAssignment_2 : ( ruleOWN ) ;
    public final void rule__OwnRelation__RelTypeAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6533:1: ( ( ruleOWN ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6534:1: ( ruleOWN )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6534:1: ( ruleOWN )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6535:1: ruleOWN
            {
             before(grammarAccess.getOwnRelationAccess().getRelTypeOWNEnumRuleCall_2_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleOWN_in_rule__OwnRelation__RelTypeAssignment_213090);
            ruleOWN();
            _fsp--;

             after(grammarAccess.getOwnRelationAccess().getRelTypeOWNEnumRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__RelTypeAssignment_2


    // $ANTLR start rule__OwnRelation__TargetAssignment_3
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6544:1: rule__OwnRelation__TargetAssignment_3 : ( ( RULE_ID ) ) ;
    public final void rule__OwnRelation__TargetAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6548:1: ( ( ( RULE_ID ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6549:1: ( ( RULE_ID ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6549:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6550:1: ( RULE_ID )
            {
             before(grammarAccess.getOwnRelationAccess().getTargetGoalCrossReference_3_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6551:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6552:1: RULE_ID
            {
             before(grammarAccess.getOwnRelationAccess().getTargetGoalIDTerminalRuleCall_3_0_1()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__OwnRelation__TargetAssignment_313125); 
             after(grammarAccess.getOwnRelationAccess().getTargetGoalIDTerminalRuleCall_3_0_1()); 

            }

             after(grammarAccess.getOwnRelationAccess().getTargetGoalCrossReference_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__TargetAssignment_3


    // $ANTLR start rule__OwnRelation__TargetAssignment_4_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6563:1: rule__OwnRelation__TargetAssignment_4_1 : ( ( RULE_ID ) ) ;
    public final void rule__OwnRelation__TargetAssignment_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6567:1: ( ( ( RULE_ID ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6568:1: ( ( RULE_ID ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6568:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6569:1: ( RULE_ID )
            {
             before(grammarAccess.getOwnRelationAccess().getTargetGoalCrossReference_4_1_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6570:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6571:1: RULE_ID
            {
             before(grammarAccess.getOwnRelationAccess().getTargetGoalIDTerminalRuleCall_4_1_0_1()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__OwnRelation__TargetAssignment_4_113164); 
             after(grammarAccess.getOwnRelationAccess().getTargetGoalIDTerminalRuleCall_4_1_0_1()); 

            }

             after(grammarAccess.getOwnRelationAccess().getTargetGoalCrossReference_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__OwnRelation__TargetAssignment_4_1


    // $ANTLR start rule__Delegation__NameAssignment_0_0
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6582:1: rule__Delegation__NameAssignment_0_0 : ( RULE_ID ) ;
    public final void rule__Delegation__NameAssignment_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6586:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6587:1: ( RULE_ID )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6587:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6588:1: RULE_ID
            {
             before(grammarAccess.getDelegationAccess().getNameIDTerminalRuleCall_0_0_0()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__Delegation__NameAssignment_0_013199); 
             after(grammarAccess.getDelegationAccess().getNameIDTerminalRuleCall_0_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Delegation__NameAssignment_0_0


    // $ANTLR start rule__Delegation__SourceAssignment_1
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6597:1: rule__Delegation__SourceAssignment_1 : ( ( RULE_ID ) ) ;
    public final void rule__Delegation__SourceAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6601:1: ( ( ( RULE_ID ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6602:1: ( ( RULE_ID ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6602:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6603:1: ( RULE_ID )
            {
             before(grammarAccess.getDelegationAccess().getSourceGoalCrossReference_1_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6604:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6605:1: RULE_ID
            {
             before(grammarAccess.getDelegationAccess().getSourceGoalIDTerminalRuleCall_1_0_1()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__Delegation__SourceAssignment_113234); 
             after(grammarAccess.getDelegationAccess().getSourceGoalIDTerminalRuleCall_1_0_1()); 

            }

             after(grammarAccess.getDelegationAccess().getSourceGoalCrossReference_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Delegation__SourceAssignment_1


    // $ANTLR start rule__Delegation__RelTypeAssignment_2
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6616:1: rule__Delegation__RelTypeAssignment_2 : ( ruleDELEGATE ) ;
    public final void rule__Delegation__RelTypeAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6620:1: ( ( ruleDELEGATE ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6621:1: ( ruleDELEGATE )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6621:1: ( ruleDELEGATE )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6622:1: ruleDELEGATE
            {
             before(grammarAccess.getDelegationAccess().getRelTypeDELEGATEEnumRuleCall_2_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleDELEGATE_in_rule__Delegation__RelTypeAssignment_213269);
            ruleDELEGATE();
            _fsp--;

             after(grammarAccess.getDelegationAccess().getRelTypeDELEGATEEnumRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Delegation__RelTypeAssignment_2


    // $ANTLR start rule__Delegation__TargetAssignment_3
    // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6631:1: rule__Delegation__TargetAssignment_3 : ( ( RULE_ID ) ) ;
    public final void rule__Delegation__TargetAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6635:1: ( ( ( RULE_ID ) ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6636:1: ( ( RULE_ID ) )
            {
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6636:1: ( ( RULE_ID ) )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6637:1: ( RULE_ID )
            {
             before(grammarAccess.getDelegationAccess().getTargetGoalCrossReference_3_0()); 
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6638:1: ( RULE_ID )
            // ../ms.unicorn.xtext.dsl.eistar.ui/src-gen/ms/unicorn/ui/contentassist/antlr/internal/InternalEIstar.g:6639:1: RULE_ID
            {
             before(grammarAccess.getDelegationAccess().getTargetGoalIDTerminalRuleCall_3_0_1()); 
            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__Delegation__TargetAssignment_313304); 
             after(grammarAccess.getDelegationAccess().getTargetGoalIDTerminalRuleCall_3_0_1()); 

            }

             after(grammarAccess.getDelegationAccess().getTargetGoalCrossReference_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Delegation__TargetAssignment_3


 

    
    private static class FollowSets000 {
        public static final BitSet FOLLOW_ruleSituation_in_entryRuleSituation61 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleSituation68 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Situation__Group__0_in_ruleSituation94 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleModel_in_entryRuleModel121 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleModel128 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Model__Alternatives_in_ruleModel154 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleIncludeSituation_in_entryRuleIncludeSituation181 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleIncludeSituation188 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__IncludeSituation__Group__0_in_ruleIncludeSituation214 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleImportNamespace_in_entryRuleImportNamespace241 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleImportNamespace248 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ImportNamespace__Group__0_in_ruleImportNamespace274 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEvolutionModel_in_entryRuleEvolutionModel301 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleEvolutionModel308 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group__0_in_ruleEvolutionModel334 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEvolutionRule_in_entryRuleEvolutionRule361 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleEvolutionRule368 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group__0_in_ruleEvolutionRule394 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEvolutionBranch_in_entryRuleEvolutionBranch421 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleEvolutionBranch428 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionBranch__Group__0_in_ruleEvolutionBranch454 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEvolutionOperation_in_entryRuleEvolutionOperation481 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleEvolutionOperation488 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionOperation__Group__0_in_ruleEvolutionOperation514 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEvolutionAddOperation_in_entryRuleEvolutionAddOperation541 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleEvolutionAddOperation548 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group__0_in_ruleEvolutionAddOperation574 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEvolutionRemoveOperation_in_entryRuleEvolutionRemoveOperation601 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleEvolutionRemoveOperation608 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRemoveOperation__Group__0_in_ruleEvolutionRemoveOperation634 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleRequirementModel_in_entryRuleRequirementModel661 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleRequirementModel668 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RequirementModel__Alternatives_in_ruleRequirementModel694 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleSubModel_in_entryRuleSubModel721 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleSubModel728 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group__0_in_ruleSubModel754 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleSubModelInclusion_in_entryRuleSubModelInclusion781 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleSubModelInclusion788 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModelInclusion__Group__0_in_ruleSubModelInclusion814 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleFullModel_in_entryRuleFullModel841 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleFullModel848 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group__0_in_ruleFullModel874 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleGoalDeclaration_in_entryRuleGoalDeclaration901 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleGoalDeclaration908 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__Group__0_in_ruleGoalDeclaration934 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleActorDeclaration_in_entryRuleActorDeclaration961 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleActorDeclaration968 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ActorDeclaration__Group__0_in_ruleActorDeclaration994 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleRelationDeclaration_in_entryRuleRelationDeclaration1021 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleRelationDeclaration1028 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RelationDeclaration__Alternatives_in_ruleRelationDeclaration1054 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDecomposition_in_entryRuleDecomposition1081 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleDecomposition1088 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Decomposition__Group__0_in_ruleDecomposition1114 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleOwnRelation_in_entryRuleOwnRelation1141 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleOwnRelation1148 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__OwnRelation__Group__0_in_ruleOwnRelation1174 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDelegation_in_entryRuleDelegation1201 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleDelegation1208 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Delegation__Group__0_in_ruleDelegation1234 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName1261 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName1268 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName1294 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleQualifiedNameWithWildCard_in_entryRuleQualifiedNameWithWildCard1321 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedNameWithWildCard1328 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__QualifiedNameWithWildCard__Group__0_in_ruleQualifiedNameWithWildCard1354 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_11_in_ruleDECOMPOSE1392 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_12_in_ruleDELEGATE1431 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_13_in_ruleOWN1470 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleRequirementModel_in_rule__Model__Alternatives1507 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEvolutionModel_in_rule__Model__Alternatives1524 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEvolutionAddOperation_in_rule__EvolutionOperation__Alternatives_01556 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEvolutionRemoveOperation_in_rule__EvolutionOperation__Alternatives_01573 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_14_in_rule__EvolutionAddOperation__Alternatives_01606 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_15_in_rule__EvolutionAddOperation__Alternatives_01626 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_0__0_in_rule__EvolutionAddOperation__Alternatives_11660 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_1__0_in_rule__EvolutionAddOperation__Alternatives_11678 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_2__0_in_rule__EvolutionAddOperation__Alternatives_11696 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_16_in_rule__EvolutionRemoveOperation__Alternatives_01730 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__EvolutionRemoveOperation__Alternatives_01750 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRemoveOperation__EntityAssignment_1_0_in_rule__EvolutionRemoveOperation__Alternatives_11784 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRemoveOperation__ChildrenAssignment_1_1_in_rule__EvolutionRemoveOperation__Alternatives_11802 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRemoveOperation__EntityAssignment_2_1_0_in_rule__EvolutionRemoveOperation__Alternatives_2_11835 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRemoveOperation__ChildrenAssignment_2_1_1_in_rule__EvolutionRemoveOperation__Alternatives_2_11853 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleFullModel_in_rule__RequirementModel__Alternatives1886 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleSubModel_in_rule__RequirementModel__Alternatives1903 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__SubModelInclusion__ClosureAlternatives_1_01936 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_15_in_rule__SubModelInclusion__ClosureAlternatives_1_01956 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_0__0_in_rule__FullModel__Alternatives_41990 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_1__0_in_rule__FullModel__Alternatives_42008 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_2__0_in_rule__FullModel__Alternatives_42026 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__Group_1_0__0_in_rule__GoalDeclaration__Alternatives_12059 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__Group_1_1__0_in_rule__GoalDeclaration__Alternatives_12077 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDecomposition_in_rule__RelationDeclaration__Alternatives2110 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDelegation_in_rule__RelationDeclaration__Alternatives2127 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleOwnRelation_in_rule__RelationDeclaration__Alternatives2144 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Situation__Group__0__Impl_in_rule__Situation__Group__02174 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__Situation__Group__1_in_rule__Situation__Group__02177 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_19_in_rule__Situation__Group__0__Impl2205 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Situation__Group__1__Impl_in_rule__Situation__Group__12236 = new BitSet(new long[]{0x0000000000100000L});
        public static final BitSet FOLLOW_rule__Situation__Group__2_in_rule__Situation__Group__12239 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Situation__NameAssignment_1_in_rule__Situation__Group__1__Impl2266 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Situation__Group__2__Impl_in_rule__Situation__Group__22296 = new BitSet(new long[]{0x0000000801E00002L});
        public static final BitSet FOLLOW_rule__Situation__Group__3_in_rule__Situation__Group__22299 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_20_in_rule__Situation__Group__2__Impl2327 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Situation__Group__3__Impl_in_rule__Situation__Group__32358 = new BitSet(new long[]{0x0000000801C00002L});
        public static final BitSet FOLLOW_rule__Situation__Group__4_in_rule__Situation__Group__32361 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Situation__IncludesAssignment_3_in_rule__Situation__Group__3__Impl2388 = new BitSet(new long[]{0x0000000000200002L});
        public static final BitSet FOLLOW_rule__Situation__Group__4__Impl_in_rule__Situation__Group__42419 = new BitSet(new long[]{0x0000000801800002L});
        public static final BitSet FOLLOW_rule__Situation__Group__5_in_rule__Situation__Group__42422 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Situation__ImportsAssignment_4_in_rule__Situation__Group__4__Impl2449 = new BitSet(new long[]{0x0000000000400002L});
        public static final BitSet FOLLOW_rule__Situation__Group__5__Impl_in_rule__Situation__Group__52480 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Situation__ChildrenAssignment_5_in_rule__Situation__Group__5__Impl2507 = new BitSet(new long[]{0x0000000801800002L});
        public static final BitSet FOLLOW_rule__IncludeSituation__Group__0__Impl_in_rule__IncludeSituation__Group__02550 = new BitSet(new long[]{0x0000000000000020L});
        public static final BitSet FOLLOW_rule__IncludeSituation__Group__1_in_rule__IncludeSituation__Group__02553 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_21_in_rule__IncludeSituation__Group__0__Impl2581 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__IncludeSituation__Group__1__Impl_in_rule__IncludeSituation__Group__12612 = new BitSet(new long[]{0x0000000000100000L});
        public static final BitSet FOLLOW_rule__IncludeSituation__Group__2_in_rule__IncludeSituation__Group__12615 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__IncludeSituation__ImportURIAssignment_1_in_rule__IncludeSituation__Group__1__Impl2642 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__IncludeSituation__Group__2__Impl_in_rule__IncludeSituation__Group__22672 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_20_in_rule__IncludeSituation__Group__2__Impl2700 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ImportNamespace__Group__0__Impl_in_rule__ImportNamespace__Group__02737 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__ImportNamespace__Group__1_in_rule__ImportNamespace__Group__02740 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_22_in_rule__ImportNamespace__Group__0__Impl2768 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ImportNamespace__Group__1__Impl_in_rule__ImportNamespace__Group__12799 = new BitSet(new long[]{0x0000000000100000L});
        public static final BitSet FOLLOW_rule__ImportNamespace__Group__2_in_rule__ImportNamespace__Group__12802 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ImportNamespace__ImportedNamespaceAssignment_1_in_rule__ImportNamespace__Group__1__Impl2829 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ImportNamespace__Group__2__Impl_in_rule__ImportNamespace__Group__22859 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_20_in_rule__ImportNamespace__Group__2__Impl2887 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group__0__Impl_in_rule__EvolutionModel__Group__02924 = new BitSet(new long[]{0x0000000001000000L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group__1_in_rule__EvolutionModel__Group__02927 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_23_in_rule__EvolutionModel__Group__0__Impl2955 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group__1__Impl_in_rule__EvolutionModel__Group__12986 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group__2_in_rule__EvolutionModel__Group__12989 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_24_in_rule__EvolutionModel__Group__1__Impl3017 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group__2__Impl_in_rule__EvolutionModel__Group__23048 = new BitSet(new long[]{0x0000000012000000L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group__3_in_rule__EvolutionModel__Group__23051 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionModel__NameAssignment_2_in_rule__EvolutionModel__Group__2__Impl3078 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group__3__Impl_in_rule__EvolutionModel__Group__33108 = new BitSet(new long[]{0x0000000002000000L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group__4_in_rule__EvolutionModel__Group__33111 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group_3__0_in_rule__EvolutionModel__Group__3__Impl3138 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group__4__Impl_in_rule__EvolutionModel__Group__43169 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group__5_in_rule__EvolutionModel__Group__43172 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_25_in_rule__EvolutionModel__Group__4__Impl3200 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group__5__Impl_in_rule__EvolutionModel__Group__53231 = new BitSet(new long[]{0x0000000004000000L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group__6_in_rule__EvolutionModel__Group__53234 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionModel__ModelAssignment_5_in_rule__EvolutionModel__Group__5__Impl3261 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group__6__Impl_in_rule__EvolutionModel__Group__63291 = new BitSet(new long[]{0x0000000028000000L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group__7_in_rule__EvolutionModel__Group__63294 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_26_in_rule__EvolutionModel__Group__6__Impl3322 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group__7__Impl_in_rule__EvolutionModel__Group__73353 = new BitSet(new long[]{0x0000000008000000L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group__8_in_rule__EvolutionModel__Group__73356 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionModel__ChildrenAssignment_7_in_rule__EvolutionModel__Group__7__Impl3383 = new BitSet(new long[]{0x0000000020000002L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group__8__Impl_in_rule__EvolutionModel__Group__83414 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_27_in_rule__EvolutionModel__Group__8__Impl3442 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group_3__0__Impl_in_rule__EvolutionModel__Group_3__03491 = new BitSet(new long[]{0x0000000000000020L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group_3__1_in_rule__EvolutionModel__Group_3__03494 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_28_in_rule__EvolutionModel__Group_3__0__Impl3522 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionModel__Group_3__1__Impl_in_rule__EvolutionModel__Group_3__13553 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionModel__TextAssignment_3_1_in_rule__EvolutionModel__Group_3__1__Impl3580 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group__0__Impl_in_rule__EvolutionRule__Group__03614 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group__1_in_rule__EvolutionRule__Group__03617 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_29_in_rule__EvolutionRule__Group__0__Impl3645 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group__1__Impl_in_rule__EvolutionRule__Group__13676 = new BitSet(new long[]{0x0000000012000000L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group__2_in_rule__EvolutionRule__Group__13679 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRule__NameAssignment_1_in_rule__EvolutionRule__Group__1__Impl3706 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group__2__Impl_in_rule__EvolutionRule__Group__23736 = new BitSet(new long[]{0x0000000002000000L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group__3_in_rule__EvolutionRule__Group__23739 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group_2__0_in_rule__EvolutionRule__Group__2__Impl3766 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group__3__Impl_in_rule__EvolutionRule__Group__33797 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group__4_in_rule__EvolutionRule__Group__33800 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_25_in_rule__EvolutionRule__Group__3__Impl3828 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group__4__Impl_in_rule__EvolutionRule__Group__43859 = new BitSet(new long[]{0x0000000004000000L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group__5_in_rule__EvolutionRule__Group__43862 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRule__OriginalAssignment_4_in_rule__EvolutionRule__Group__4__Impl3889 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group__5__Impl_in_rule__EvolutionRule__Group__53919 = new BitSet(new long[]{0x0000000048400000L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group__6_in_rule__EvolutionRule__Group__53922 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_26_in_rule__EvolutionRule__Group__5__Impl3950 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group__6__Impl_in_rule__EvolutionRule__Group__63981 = new BitSet(new long[]{0x0000000048000000L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group__7_in_rule__EvolutionRule__Group__63984 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRule__ImportsAssignment_6_in_rule__EvolutionRule__Group__6__Impl4011 = new BitSet(new long[]{0x0000000000400002L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group__7__Impl_in_rule__EvolutionRule__Group__74042 = new BitSet(new long[]{0x0000000008000000L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group__8_in_rule__EvolutionRule__Group__74045 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRule__ChildrenAssignment_7_in_rule__EvolutionRule__Group__7__Impl4072 = new BitSet(new long[]{0x0000000040000002L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group__8__Impl_in_rule__EvolutionRule__Group__84103 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_27_in_rule__EvolutionRule__Group__8__Impl4131 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group_2__0__Impl_in_rule__EvolutionRule__Group_2__04180 = new BitSet(new long[]{0x0000000000000020L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group_2__1_in_rule__EvolutionRule__Group_2__04183 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_28_in_rule__EvolutionRule__Group_2__0__Impl4211 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRule__Group_2__1__Impl_in_rule__EvolutionRule__Group_2__14242 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRule__TextAssignment_2_1_in_rule__EvolutionRule__Group_2__1__Impl4269 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionBranch__Group__0__Impl_in_rule__EvolutionBranch__Group__04303 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__EvolutionBranch__Group__1_in_rule__EvolutionBranch__Group__04306 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_30_in_rule__EvolutionBranch__Group__0__Impl4334 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionBranch__Group__1__Impl_in_rule__EvolutionBranch__Group__14365 = new BitSet(new long[]{0x0000000080000000L});
        public static final BitSet FOLLOW_rule__EvolutionBranch__Group__2_in_rule__EvolutionBranch__Group__14368 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionBranch__NameAssignment_1_in_rule__EvolutionBranch__Group__1__Impl4395 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionBranch__Group__2__Impl_in_rule__EvolutionBranch__Group__24425 = new BitSet(new long[]{0x0000000000000040L});
        public static final BitSet FOLLOW_rule__EvolutionBranch__Group__3_in_rule__EvolutionBranch__Group__24428 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_31_in_rule__EvolutionBranch__Group__2__Impl4456 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionBranch__Group__3__Impl_in_rule__EvolutionBranch__Group__34487 = new BitSet(new long[]{0x0000000004000000L});
        public static final BitSet FOLLOW_rule__EvolutionBranch__Group__4_in_rule__EvolutionBranch__Group__34490 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionBranch__ProbabilityAssignment_3_in_rule__EvolutionBranch__Group__3__Impl4517 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionBranch__Group__4__Impl_in_rule__EvolutionBranch__Group__44547 = new BitSet(new long[]{0x000000000803C000L});
        public static final BitSet FOLLOW_rule__EvolutionBranch__Group__5_in_rule__EvolutionBranch__Group__44550 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_26_in_rule__EvolutionBranch__Group__4__Impl4578 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionBranch__Group__5__Impl_in_rule__EvolutionBranch__Group__54609 = new BitSet(new long[]{0x0000000008000000L});
        public static final BitSet FOLLOW_rule__EvolutionBranch__Group__6_in_rule__EvolutionBranch__Group__54612 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionBranch__ChildrenAssignment_5_in_rule__EvolutionBranch__Group__5__Impl4639 = new BitSet(new long[]{0x000000000003C002L});
        public static final BitSet FOLLOW_rule__EvolutionBranch__Group__6__Impl_in_rule__EvolutionBranch__Group__64670 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_27_in_rule__EvolutionBranch__Group__6__Impl4698 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionOperation__Group__0__Impl_in_rule__EvolutionOperation__Group__04743 = new BitSet(new long[]{0x0000000000100000L});
        public static final BitSet FOLLOW_rule__EvolutionOperation__Group__1_in_rule__EvolutionOperation__Group__04746 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionOperation__Alternatives_0_in_rule__EvolutionOperation__Group__0__Impl4773 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionOperation__Group__1__Impl_in_rule__EvolutionOperation__Group__14803 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_20_in_rule__EvolutionOperation__Group__1__Impl4831 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group__0__Impl_in_rule__EvolutionAddOperation__Group__04866 = new BitSet(new long[]{0x0000000500000010L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group__1_in_rule__EvolutionAddOperation__Group__04869 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Alternatives_0_in_rule__EvolutionAddOperation__Group__0__Impl4896 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group__1__Impl_in_rule__EvolutionAddOperation__Group__14926 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Alternatives_1_in_rule__EvolutionAddOperation__Group__1__Impl4953 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_0__0__Impl_in_rule__EvolutionAddOperation__Group_1_0__04987 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_0__1_in_rule__EvolutionAddOperation__Group_1_0__04990 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_32_in_rule__EvolutionAddOperation__Group_1_0__0__Impl5018 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_0__1__Impl_in_rule__EvolutionAddOperation__Group_1_0__15049 = new BitSet(new long[]{0x0000000200000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_0__2_in_rule__EvolutionAddOperation__Group_1_0__15052 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__ChildrenAssignment_1_0_1_in_rule__EvolutionAddOperation__Group_1_0__1__Impl5079 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_0__2__Impl_in_rule__EvolutionAddOperation__Group_1_0__25109 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_0_2__0_in_rule__EvolutionAddOperation__Group_1_0__2__Impl5136 = new BitSet(new long[]{0x0000000200000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_0_2__0__Impl_in_rule__EvolutionAddOperation__Group_1_0_2__05173 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_0_2__1_in_rule__EvolutionAddOperation__Group_1_0_2__05176 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_33_in_rule__EvolutionAddOperation__Group_1_0_2__0__Impl5204 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_0_2__1__Impl_in_rule__EvolutionAddOperation__Group_1_0_2__15235 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__ChildrenAssignment_1_0_2_1_in_rule__EvolutionAddOperation__Group_1_0_2__1__Impl5262 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_1__0__Impl_in_rule__EvolutionAddOperation__Group_1_1__05296 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_1__1_in_rule__EvolutionAddOperation__Group_1_1__05299 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_34_in_rule__EvolutionAddOperation__Group_1_1__0__Impl5327 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_1__1__Impl_in_rule__EvolutionAddOperation__Group_1_1__15358 = new BitSet(new long[]{0x0000000200000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_1__2_in_rule__EvolutionAddOperation__Group_1_1__15361 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__ChildrenAssignment_1_1_1_in_rule__EvolutionAddOperation__Group_1_1__1__Impl5388 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_1__2__Impl_in_rule__EvolutionAddOperation__Group_1_1__25418 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_1_2__0_in_rule__EvolutionAddOperation__Group_1_1__2__Impl5445 = new BitSet(new long[]{0x0000000200000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_1_2__0__Impl_in_rule__EvolutionAddOperation__Group_1_1_2__05482 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_1_2__1_in_rule__EvolutionAddOperation__Group_1_1_2__05485 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_33_in_rule__EvolutionAddOperation__Group_1_1_2__0__Impl5513 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_1_2__1__Impl_in_rule__EvolutionAddOperation__Group_1_1_2__15544 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__ChildrenAssignment_1_1_2_1_in_rule__EvolutionAddOperation__Group_1_1_2__1__Impl5571 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_2__0__Impl_in_rule__EvolutionAddOperation__Group_1_2__05605 = new BitSet(new long[]{0x0000000200000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_2__1_in_rule__EvolutionAddOperation__Group_1_2__05608 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__ChildrenAssignment_1_2_0_in_rule__EvolutionAddOperation__Group_1_2__0__Impl5635 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_2__1__Impl_in_rule__EvolutionAddOperation__Group_1_2__15665 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_2_1__0_in_rule__EvolutionAddOperation__Group_1_2__1__Impl5692 = new BitSet(new long[]{0x0000000200000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_2_1__0__Impl_in_rule__EvolutionAddOperation__Group_1_2_1__05727 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_2_1__1_in_rule__EvolutionAddOperation__Group_1_2_1__05730 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_33_in_rule__EvolutionAddOperation__Group_1_2_1__0__Impl5758 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__Group_1_2_1__1__Impl_in_rule__EvolutionAddOperation__Group_1_2_1__15789 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionAddOperation__ChildrenAssignment_1_2_1_1_in_rule__EvolutionAddOperation__Group_1_2_1__1__Impl5816 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRemoveOperation__Group__0__Impl_in_rule__EvolutionRemoveOperation__Group__05850 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__EvolutionRemoveOperation__Group__1_in_rule__EvolutionRemoveOperation__Group__05853 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRemoveOperation__Alternatives_0_in_rule__EvolutionRemoveOperation__Group__0__Impl5880 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRemoveOperation__Group__1__Impl_in_rule__EvolutionRemoveOperation__Group__15910 = new BitSet(new long[]{0x0000000200000002L});
        public static final BitSet FOLLOW_rule__EvolutionRemoveOperation__Group__2_in_rule__EvolutionRemoveOperation__Group__15913 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRemoveOperation__Alternatives_1_in_rule__EvolutionRemoveOperation__Group__1__Impl5940 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRemoveOperation__Group__2__Impl_in_rule__EvolutionRemoveOperation__Group__25970 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRemoveOperation__Group_2__0_in_rule__EvolutionRemoveOperation__Group__2__Impl5997 = new BitSet(new long[]{0x0000000200000002L});
        public static final BitSet FOLLOW_rule__EvolutionRemoveOperation__Group_2__0__Impl_in_rule__EvolutionRemoveOperation__Group_2__06034 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__EvolutionRemoveOperation__Group_2__1_in_rule__EvolutionRemoveOperation__Group_2__06037 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_33_in_rule__EvolutionRemoveOperation__Group_2__0__Impl6065 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRemoveOperation__Group_2__1__Impl_in_rule__EvolutionRemoveOperation__Group_2__16096 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EvolutionRemoveOperation__Alternatives_2_1_in_rule__EvolutionRemoveOperation__Group_2__1__Impl6123 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group__0__Impl_in_rule__SubModel__Group__06157 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__SubModel__Group__1_in_rule__SubModel__Group__06160 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_35_in_rule__SubModel__Group__0__Impl6188 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group__1__Impl_in_rule__SubModel__Group__16219 = new BitSet(new long[]{0x0000000012000000L});
        public static final BitSet FOLLOW_rule__SubModel__Group__2_in_rule__SubModel__Group__16222 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__NameAssignment_1_in_rule__SubModel__Group__1__Impl6249 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group__2__Impl_in_rule__SubModel__Group__26279 = new BitSet(new long[]{0x0000000002000000L});
        public static final BitSet FOLLOW_rule__SubModel__Group__3_in_rule__SubModel__Group__26282 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group_2__0_in_rule__SubModel__Group__2__Impl6309 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group__3__Impl_in_rule__SubModel__Group__36340 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__SubModel__Group__4_in_rule__SubModel__Group__36343 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_25_in_rule__SubModel__Group__3__Impl6371 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group__4__Impl_in_rule__SubModel__Group__46402 = new BitSet(new long[]{0x0000000004000000L});
        public static final BitSet FOLLOW_rule__SubModel__Group__5_in_rule__SubModel__Group__46405 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__ParentAssignment_4_in_rule__SubModel__Group__4__Impl6432 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group__5__Impl_in_rule__SubModel__Group__56462 = new BitSet(new long[]{0x0000000008600000L});
        public static final BitSet FOLLOW_rule__SubModel__Group__6_in_rule__SubModel__Group__56465 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_26_in_rule__SubModel__Group__5__Impl6493 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group__6__Impl_in_rule__SubModel__Group__66524 = new BitSet(new long[]{0x0000000008200000L});
        public static final BitSet FOLLOW_rule__SubModel__Group__7_in_rule__SubModel__Group__66527 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__ImportsAssignment_6_in_rule__SubModel__Group__6__Impl6554 = new BitSet(new long[]{0x0000000000400002L});
        public static final BitSet FOLLOW_rule__SubModel__Group__7__Impl_in_rule__SubModel__Group__76585 = new BitSet(new long[]{0x0000000008000000L});
        public static final BitSet FOLLOW_rule__SubModel__Group__8_in_rule__SubModel__Group__76588 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group_7__0_in_rule__SubModel__Group__7__Impl6615 = new BitSet(new long[]{0x0000000000200002L});
        public static final BitSet FOLLOW_rule__SubModel__Group__8__Impl_in_rule__SubModel__Group__86646 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_27_in_rule__SubModel__Group__8__Impl6674 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group_2__0__Impl_in_rule__SubModel__Group_2__06723 = new BitSet(new long[]{0x0000000000000020L});
        public static final BitSet FOLLOW_rule__SubModel__Group_2__1_in_rule__SubModel__Group_2__06726 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_28_in_rule__SubModel__Group_2__0__Impl6754 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group_2__1__Impl_in_rule__SubModel__Group_2__16785 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__TextAssignment_2_1_in_rule__SubModel__Group_2__1__Impl6812 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group_7__0__Impl_in_rule__SubModel__Group_7__06846 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__SubModel__Group_7__1_in_rule__SubModel__Group_7__06849 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_21_in_rule__SubModel__Group_7__0__Impl6877 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group_7__1__Impl_in_rule__SubModel__Group_7__16908 = new BitSet(new long[]{0x0000000200100000L});
        public static final BitSet FOLLOW_rule__SubModel__Group_7__2_in_rule__SubModel__Group_7__16911 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__ChildrenAssignment_7_1_in_rule__SubModel__Group_7__1__Impl6938 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group_7__2__Impl_in_rule__SubModel__Group_7__26968 = new BitSet(new long[]{0x0000000000100000L});
        public static final BitSet FOLLOW_rule__SubModel__Group_7__3_in_rule__SubModel__Group_7__26971 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group_7_2__0_in_rule__SubModel__Group_7__2__Impl6998 = new BitSet(new long[]{0x0000000200000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group_7__3__Impl_in_rule__SubModel__Group_7__37029 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_20_in_rule__SubModel__Group_7__3__Impl7057 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group_7_2__0__Impl_in_rule__SubModel__Group_7_2__07096 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__SubModel__Group_7_2__1_in_rule__SubModel__Group_7_2__07099 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_33_in_rule__SubModel__Group_7_2__0__Impl7127 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__Group_7_2__1__Impl_in_rule__SubModel__Group_7_2__17158 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModel__ChildrenAssignment_7_2_1_in_rule__SubModel__Group_7_2__1__Impl7185 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModelInclusion__Group__0__Impl_in_rule__SubModelInclusion__Group__07219 = new BitSet(new long[]{0x0000000000048002L});
        public static final BitSet FOLLOW_rule__SubModelInclusion__Group__1_in_rule__SubModelInclusion__Group__07222 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModelInclusion__ElementAssignment_0_in_rule__SubModelInclusion__Group__0__Impl7249 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModelInclusion__Group__1__Impl_in_rule__SubModelInclusion__Group__17279 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModelInclusion__ClosureAssignment_1_in_rule__SubModelInclusion__Group__1__Impl7306 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group__0__Impl_in_rule__FullModel__Group__07341 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__FullModel__Group__1_in_rule__FullModel__Group__07344 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_24_in_rule__FullModel__Group__0__Impl7372 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group__1__Impl_in_rule__FullModel__Group__17403 = new BitSet(new long[]{0x0000000014000000L});
        public static final BitSet FOLLOW_rule__FullModel__Group__2_in_rule__FullModel__Group__17406 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__NameAssignment_1_in_rule__FullModel__Group__1__Impl7433 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group__2__Impl_in_rule__FullModel__Group__27463 = new BitSet(new long[]{0x0000000004000000L});
        public static final BitSet FOLLOW_rule__FullModel__Group__3_in_rule__FullModel__Group__27466 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_2__0_in_rule__FullModel__Group__2__Impl7493 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group__3__Impl_in_rule__FullModel__Group__37524 = new BitSet(new long[]{0x0000000508000010L});
        public static final BitSet FOLLOW_rule__FullModel__Group__4_in_rule__FullModel__Group__37527 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_26_in_rule__FullModel__Group__3__Impl7555 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group__4__Impl_in_rule__FullModel__Group__47586 = new BitSet(new long[]{0x0000000008000000L});
        public static final BitSet FOLLOW_rule__FullModel__Group__5_in_rule__FullModel__Group__47589 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Alternatives_4_in_rule__FullModel__Group__4__Impl7616 = new BitSet(new long[]{0x0000000500000012L});
        public static final BitSet FOLLOW_rule__FullModel__Group__5__Impl_in_rule__FullModel__Group__57647 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_27_in_rule__FullModel__Group__5__Impl7675 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_2__0__Impl_in_rule__FullModel__Group_2__07718 = new BitSet(new long[]{0x0000000000000020L});
        public static final BitSet FOLLOW_rule__FullModel__Group_2__1_in_rule__FullModel__Group_2__07721 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_28_in_rule__FullModel__Group_2__0__Impl7749 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_2__1__Impl_in_rule__FullModel__Group_2__17780 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__TextAssignment_2_1_in_rule__FullModel__Group_2__1__Impl7807 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_0__0__Impl_in_rule__FullModel__Group_4_0__07841 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_0__1_in_rule__FullModel__Group_4_0__07844 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_32_in_rule__FullModel__Group_4_0__0__Impl7872 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_0__1__Impl_in_rule__FullModel__Group_4_0__17903 = new BitSet(new long[]{0x0000000200100000L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_0__2_in_rule__FullModel__Group_4_0__17906 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__ChildrenAssignment_4_0_1_in_rule__FullModel__Group_4_0__1__Impl7933 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_0__2__Impl_in_rule__FullModel__Group_4_0__27963 = new BitSet(new long[]{0x0000000000100000L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_0__3_in_rule__FullModel__Group_4_0__27966 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_0_2__0_in_rule__FullModel__Group_4_0__2__Impl7993 = new BitSet(new long[]{0x0000000200000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_0__3__Impl_in_rule__FullModel__Group_4_0__38024 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_20_in_rule__FullModel__Group_4_0__3__Impl8052 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_0_2__0__Impl_in_rule__FullModel__Group_4_0_2__08091 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_0_2__1_in_rule__FullModel__Group_4_0_2__08094 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_33_in_rule__FullModel__Group_4_0_2__0__Impl8122 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_0_2__1__Impl_in_rule__FullModel__Group_4_0_2__18153 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__ChildrenAssignment_4_0_2_1_in_rule__FullModel__Group_4_0_2__1__Impl8180 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_1__0__Impl_in_rule__FullModel__Group_4_1__08214 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_1__1_in_rule__FullModel__Group_4_1__08217 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_34_in_rule__FullModel__Group_4_1__0__Impl8245 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_1__1__Impl_in_rule__FullModel__Group_4_1__18276 = new BitSet(new long[]{0x0000000200100000L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_1__2_in_rule__FullModel__Group_4_1__18279 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__ChildrenAssignment_4_1_1_in_rule__FullModel__Group_4_1__1__Impl8306 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_1__2__Impl_in_rule__FullModel__Group_4_1__28336 = new BitSet(new long[]{0x0000000000100000L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_1__3_in_rule__FullModel__Group_4_1__28339 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_1_2__0_in_rule__FullModel__Group_4_1__2__Impl8366 = new BitSet(new long[]{0x0000000200000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_1__3__Impl_in_rule__FullModel__Group_4_1__38397 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_20_in_rule__FullModel__Group_4_1__3__Impl8425 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_1_2__0__Impl_in_rule__FullModel__Group_4_1_2__08464 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_1_2__1_in_rule__FullModel__Group_4_1_2__08467 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_33_in_rule__FullModel__Group_4_1_2__0__Impl8495 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_1_2__1__Impl_in_rule__FullModel__Group_4_1_2__18526 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__ChildrenAssignment_4_1_2_1_in_rule__FullModel__Group_4_1_2__1__Impl8553 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_2__0__Impl_in_rule__FullModel__Group_4_2__08587 = new BitSet(new long[]{0x0000000000100000L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_2__1_in_rule__FullModel__Group_4_2__08590 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__ChildrenAssignment_4_2_0_in_rule__FullModel__Group_4_2__0__Impl8617 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__FullModel__Group_4_2__1__Impl_in_rule__FullModel__Group_4_2__18647 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_20_in_rule__FullModel__Group_4_2__1__Impl8675 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__Group__0__Impl_in_rule__GoalDeclaration__Group__08710 = new BitSet(new long[]{0x0000000014000002L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__Group__1_in_rule__GoalDeclaration__Group__08713 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__NameAssignment_0_in_rule__GoalDeclaration__Group__0__Impl8740 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__Group__1__Impl_in_rule__GoalDeclaration__Group__18770 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__Alternatives_1_in_rule__GoalDeclaration__Group__1__Impl8797 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__Group_1_0__0__Impl_in_rule__GoalDeclaration__Group_1_0__08832 = new BitSet(new long[]{0x0000001000000000L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__Group_1_0__1_in_rule__GoalDeclaration__Group_1_0__08835 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_26_in_rule__GoalDeclaration__Group_1_0__0__Impl8863 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__Group_1_0__1__Impl_in_rule__GoalDeclaration__Group_1_0__18894 = new BitSet(new long[]{0x0000000000000020L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__Group_1_0__2_in_rule__GoalDeclaration__Group_1_0__18897 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_36_in_rule__GoalDeclaration__Group_1_0__1__Impl8925 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__Group_1_0__2__Impl_in_rule__GoalDeclaration__Group_1_0__28956 = new BitSet(new long[]{0x0000000008000000L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__Group_1_0__3_in_rule__GoalDeclaration__Group_1_0__28959 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__TextAssignment_1_0_2_in_rule__GoalDeclaration__Group_1_0__2__Impl8986 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__Group_1_0__3__Impl_in_rule__GoalDeclaration__Group_1_0__39016 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_27_in_rule__GoalDeclaration__Group_1_0__3__Impl9044 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__Group_1_1__0__Impl_in_rule__GoalDeclaration__Group_1_1__09083 = new BitSet(new long[]{0x0000000000000020L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__Group_1_1__1_in_rule__GoalDeclaration__Group_1_1__09086 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_28_in_rule__GoalDeclaration__Group_1_1__0__Impl9114 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__Group_1_1__1__Impl_in_rule__GoalDeclaration__Group_1_1__19145 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GoalDeclaration__TextAssignment_1_1_1_in_rule__GoalDeclaration__Group_1_1__1__Impl9172 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ActorDeclaration__Group__0__Impl_in_rule__ActorDeclaration__Group__09206 = new BitSet(new long[]{0x0000000010000002L});
        public static final BitSet FOLLOW_rule__ActorDeclaration__Group__1_in_rule__ActorDeclaration__Group__09209 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ActorDeclaration__NameAssignment_0_in_rule__ActorDeclaration__Group__0__Impl9236 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ActorDeclaration__Group__1__Impl_in_rule__ActorDeclaration__Group__19266 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ActorDeclaration__Group_1__0_in_rule__ActorDeclaration__Group__1__Impl9293 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ActorDeclaration__Group_1__0__Impl_in_rule__ActorDeclaration__Group_1__09328 = new BitSet(new long[]{0x0000000000000020L});
        public static final BitSet FOLLOW_rule__ActorDeclaration__Group_1__1_in_rule__ActorDeclaration__Group_1__09331 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_28_in_rule__ActorDeclaration__Group_1__0__Impl9359 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ActorDeclaration__Group_1__1__Impl_in_rule__ActorDeclaration__Group_1__19390 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ActorDeclaration__TextAssignment_1_1_in_rule__ActorDeclaration__Group_1__1__Impl9417 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Decomposition__Group__0__Impl_in_rule__Decomposition__Group__09451 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__Decomposition__Group__1_in_rule__Decomposition__Group__09454 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Decomposition__Group_0__0_in_rule__Decomposition__Group__0__Impl9481 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Decomposition__Group__1__Impl_in_rule__Decomposition__Group__19512 = new BitSet(new long[]{0x0000000000000800L});
        public static final BitSet FOLLOW_rule__Decomposition__Group__2_in_rule__Decomposition__Group__19515 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Decomposition__SourceAssignment_1_in_rule__Decomposition__Group__1__Impl9542 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Decomposition__Group__2__Impl_in_rule__Decomposition__Group__29572 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__Decomposition__Group__3_in_rule__Decomposition__Group__29575 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Decomposition__RelTypeAssignment_2_in_rule__Decomposition__Group__2__Impl9602 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Decomposition__Group__3__Impl_in_rule__Decomposition__Group__39632 = new BitSet(new long[]{0x0000000200000002L});
        public static final BitSet FOLLOW_rule__Decomposition__Group__4_in_rule__Decomposition__Group__39635 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Decomposition__TargetAssignment_3_in_rule__Decomposition__Group__3__Impl9662 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Decomposition__Group__4__Impl_in_rule__Decomposition__Group__49692 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Decomposition__Group_4__0_in_rule__Decomposition__Group__4__Impl9719 = new BitSet(new long[]{0x0000000200000002L});
        public static final BitSet FOLLOW_rule__Decomposition__Group_0__0__Impl_in_rule__Decomposition__Group_0__09760 = new BitSet(new long[]{0x0000000010000000L});
        public static final BitSet FOLLOW_rule__Decomposition__Group_0__1_in_rule__Decomposition__Group_0__09763 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Decomposition__NameAssignment_0_0_in_rule__Decomposition__Group_0__0__Impl9790 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Decomposition__Group_0__1__Impl_in_rule__Decomposition__Group_0__19820 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_28_in_rule__Decomposition__Group_0__1__Impl9848 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Decomposition__Group_4__0__Impl_in_rule__Decomposition__Group_4__09883 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__Decomposition__Group_4__1_in_rule__Decomposition__Group_4__09886 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_33_in_rule__Decomposition__Group_4__0__Impl9914 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Decomposition__Group_4__1__Impl_in_rule__Decomposition__Group_4__19945 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Decomposition__TargetAssignment_4_1_in_rule__Decomposition__Group_4__1__Impl9972 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__OwnRelation__Group__0__Impl_in_rule__OwnRelation__Group__010006 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__OwnRelation__Group__1_in_rule__OwnRelation__Group__010009 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__OwnRelation__Group_0__0_in_rule__OwnRelation__Group__0__Impl10036 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__OwnRelation__Group__1__Impl_in_rule__OwnRelation__Group__110067 = new BitSet(new long[]{0x0000000000002000L});
        public static final BitSet FOLLOW_rule__OwnRelation__Group__2_in_rule__OwnRelation__Group__110070 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__OwnRelation__SourceAssignment_1_in_rule__OwnRelation__Group__1__Impl10097 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__OwnRelation__Group__2__Impl_in_rule__OwnRelation__Group__210127 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__OwnRelation__Group__3_in_rule__OwnRelation__Group__210130 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__OwnRelation__RelTypeAssignment_2_in_rule__OwnRelation__Group__2__Impl10157 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__OwnRelation__Group__3__Impl_in_rule__OwnRelation__Group__310187 = new BitSet(new long[]{0x0000000200000002L});
        public static final BitSet FOLLOW_rule__OwnRelation__Group__4_in_rule__OwnRelation__Group__310190 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__OwnRelation__TargetAssignment_3_in_rule__OwnRelation__Group__3__Impl10217 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__OwnRelation__Group__4__Impl_in_rule__OwnRelation__Group__410247 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__OwnRelation__Group_4__0_in_rule__OwnRelation__Group__4__Impl10274 = new BitSet(new long[]{0x0000000200000002L});
        public static final BitSet FOLLOW_rule__OwnRelation__Group_0__0__Impl_in_rule__OwnRelation__Group_0__010315 = new BitSet(new long[]{0x0000000010000000L});
        public static final BitSet FOLLOW_rule__OwnRelation__Group_0__1_in_rule__OwnRelation__Group_0__010318 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__OwnRelation__NameAssignment_0_0_in_rule__OwnRelation__Group_0__0__Impl10345 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__OwnRelation__Group_0__1__Impl_in_rule__OwnRelation__Group_0__110375 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_28_in_rule__OwnRelation__Group_0__1__Impl10403 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__OwnRelation__Group_4__0__Impl_in_rule__OwnRelation__Group_4__010438 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__OwnRelation__Group_4__1_in_rule__OwnRelation__Group_4__010441 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_33_in_rule__OwnRelation__Group_4__0__Impl10469 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__OwnRelation__Group_4__1__Impl_in_rule__OwnRelation__Group_4__110500 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__OwnRelation__TargetAssignment_4_1_in_rule__OwnRelation__Group_4__1__Impl10527 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Delegation__Group__0__Impl_in_rule__Delegation__Group__010561 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__Delegation__Group__1_in_rule__Delegation__Group__010564 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Delegation__Group_0__0_in_rule__Delegation__Group__0__Impl10591 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Delegation__Group__1__Impl_in_rule__Delegation__Group__110622 = new BitSet(new long[]{0x0000000000001000L});
        public static final BitSet FOLLOW_rule__Delegation__Group__2_in_rule__Delegation__Group__110625 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Delegation__SourceAssignment_1_in_rule__Delegation__Group__1__Impl10652 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Delegation__Group__2__Impl_in_rule__Delegation__Group__210682 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__Delegation__Group__3_in_rule__Delegation__Group__210685 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Delegation__RelTypeAssignment_2_in_rule__Delegation__Group__2__Impl10712 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Delegation__Group__3__Impl_in_rule__Delegation__Group__310742 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Delegation__TargetAssignment_3_in_rule__Delegation__Group__3__Impl10769 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Delegation__Group_0__0__Impl_in_rule__Delegation__Group_0__010807 = new BitSet(new long[]{0x0000000010000000L});
        public static final BitSet FOLLOW_rule__Delegation__Group_0__1_in_rule__Delegation__Group_0__010810 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Delegation__NameAssignment_0_0_in_rule__Delegation__Group_0__0__Impl10837 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Delegation__Group_0__1__Impl_in_rule__Delegation__Group_0__110867 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_28_in_rule__Delegation__Group_0__1__Impl10895 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__010930 = new BitSet(new long[]{0x0000002000000002L});
        public static final BitSet FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__010933 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__QualifiedName__Group__0__Impl10960 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__110989 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl11016 = new BitSet(new long[]{0x0000002000000002L});
        public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__011051 = new BitSet(new long[]{0x0000000000000010L});
        public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__011054 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_37_in_rule__QualifiedName__Group_1__0__Impl11082 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__111113 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__QualifiedName__Group_1__1__Impl11140 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__QualifiedNameWithWildCard__Group__0__Impl_in_rule__QualifiedNameWithWildCard__Group__011173 = new BitSet(new long[]{0x0000004000000002L});
        public static final BitSet FOLLOW_rule__QualifiedNameWithWildCard__Group__1_in_rule__QualifiedNameWithWildCard__Group__011176 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__QualifiedNameWithWildCard__Group__0__Impl11203 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__QualifiedNameWithWildCard__Group__1__Impl_in_rule__QualifiedNameWithWildCard__Group__111232 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_38_in_rule__QualifiedNameWithWildCard__Group__1__Impl11261 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__Situation__NameAssignment_111303 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleIncludeSituation_in_rule__Situation__IncludesAssignment_311334 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleImportNamespace_in_rule__Situation__ImportsAssignment_411365 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleModel_in_rule__Situation__ChildrenAssignment_511396 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_STRING_in_rule__IncludeSituation__ImportURIAssignment_111427 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleQualifiedNameWithWildCard_in_rule__ImportNamespace__ImportedNamespaceAssignment_111458 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__EvolutionModel__NameAssignment_211489 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_STRING_in_rule__EvolutionModel__TextAssignment_3_111520 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__EvolutionModel__ModelAssignment_511555 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEvolutionRule_in_rule__EvolutionModel__ChildrenAssignment_711590 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__EvolutionRule__NameAssignment_111621 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_STRING_in_rule__EvolutionRule__TextAssignment_2_111652 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__EvolutionRule__OriginalAssignment_411687 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleImportNamespace_in_rule__EvolutionRule__ImportsAssignment_611722 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEvolutionBranch_in_rule__EvolutionRule__ChildrenAssignment_711753 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__EvolutionBranch__NameAssignment_111784 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_INT_in_rule__EvolutionBranch__ProbabilityAssignment_311815 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEvolutionOperation_in_rule__EvolutionBranch__ChildrenAssignment_511846 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleActorDeclaration_in_rule__EvolutionAddOperation__ChildrenAssignment_1_0_111877 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleActorDeclaration_in_rule__EvolutionAddOperation__ChildrenAssignment_1_0_2_111908 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleGoalDeclaration_in_rule__EvolutionAddOperation__ChildrenAssignment_1_1_111939 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleGoalDeclaration_in_rule__EvolutionAddOperation__ChildrenAssignment_1_1_2_111970 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleRelationDeclaration_in_rule__EvolutionAddOperation__ChildrenAssignment_1_2_012001 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleRelationDeclaration_in_rule__EvolutionAddOperation__ChildrenAssignment_1_2_1_112032 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__EvolutionRemoveOperation__EntityAssignment_1_012067 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleRelationDeclaration_in_rule__EvolutionRemoveOperation__ChildrenAssignment_1_112102 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__EvolutionRemoveOperation__EntityAssignment_2_1_012137 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleRelationDeclaration_in_rule__EvolutionRemoveOperation__ChildrenAssignment_2_1_112172 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__SubModel__NameAssignment_112203 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_STRING_in_rule__SubModel__TextAssignment_2_112234 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__SubModel__ParentAssignment_412269 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleImportNamespace_in_rule__SubModel__ImportsAssignment_612304 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleSubModelInclusion_in_rule__SubModel__ChildrenAssignment_7_112335 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleSubModelInclusion_in_rule__SubModel__ChildrenAssignment_7_2_112366 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__SubModelInclusion__ElementAssignment_012401 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__SubModelInclusion__ClosureAlternatives_1_0_in_rule__SubModelInclusion__ClosureAssignment_112436 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__FullModel__NameAssignment_112469 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_STRING_in_rule__FullModel__TextAssignment_2_112500 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleActorDeclaration_in_rule__FullModel__ChildrenAssignment_4_0_112531 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleActorDeclaration_in_rule__FullModel__ChildrenAssignment_4_0_2_112562 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleGoalDeclaration_in_rule__FullModel__ChildrenAssignment_4_1_112593 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleGoalDeclaration_in_rule__FullModel__ChildrenAssignment_4_1_2_112624 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleRelationDeclaration_in_rule__FullModel__ChildrenAssignment_4_2_012655 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__GoalDeclaration__NameAssignment_012686 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_STRING_in_rule__GoalDeclaration__TextAssignment_1_0_212717 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_STRING_in_rule__GoalDeclaration__TextAssignment_1_1_112748 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__ActorDeclaration__NameAssignment_012779 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_STRING_in_rule__ActorDeclaration__TextAssignment_1_112810 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__Decomposition__NameAssignment_0_012841 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__Decomposition__SourceAssignment_112876 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDECOMPOSE_in_rule__Decomposition__RelTypeAssignment_212911 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__Decomposition__TargetAssignment_312946 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__Decomposition__TargetAssignment_4_112985 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__OwnRelation__NameAssignment_0_013020 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__OwnRelation__SourceAssignment_113055 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleOWN_in_rule__OwnRelation__RelTypeAssignment_213090 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__OwnRelation__TargetAssignment_313125 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__OwnRelation__TargetAssignment_4_113164 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__Delegation__NameAssignment_0_013199 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__Delegation__SourceAssignment_113234 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleDELEGATE_in_rule__Delegation__RelTypeAssignment_213269 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__Delegation__TargetAssignment_313304 = new BitSet(new long[]{0x0000000000000002L});
    }


}